From 904b9ad487339149284030b06015f06e576d81e3 Mon Sep 17 00:00:00 2001 From: Yanan Wang Date: Sun, 2 Nov 2025 22:36:34 -0600 Subject: [PATCH 1/6] wip --- Directory.Packages.props | 3 + .../Arguments/TextAnalysisRequest.cs | 52 ++++ .../FuzzSharp/INgramProcessor.cs | 27 ++ .../FuzzSharp/IResultProcessor.cs | 18 ++ .../FuzzSharp/ITextAnalysisService.cs | 13 + .../FuzzSharp/ITokenMatcher.cs | 40 +++ .../FuzzSharp/IVocabularyService.cs | 9 + .../FuzzSharp/Models/FlaggedItem.cs | 50 ++++ .../FuzzSharp/Models/TextAnalysisResponse.cs | 31 +++ .../BotSharp.Plugin.FuzzySharp.csproj | 17 ++ .../Constants/FuzzyMatcher.cs | 257 ++++++++++++++++++ .../Constants/MatchReason.cs | 21 ++ .../Constants/TextConstants.cs | 27 ++ .../Repository/IVocabularyRepository.cs | 8 + .../Repository/VocabularyRepository.cs | 16 ++ .../Services/Matching/DomainTermMatcher.cs | 24 ++ .../Services/Matching/ExactMatcher.cs | 24 ++ .../Services/NgramProcessor.cs | 204 ++++++++++++++ .../Services/ResultProcessor.cs | 83 ++++++ .../Services/TextAnalysisService.cs | 142 ++++++++++ .../Services/VocabularyService.cs | 184 +++++++++++++ .../Utils/TextTokenizer.cs | 64 +++++ 22 files changed, 1314 insertions(+) create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/INgramProcessor.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IResultProcessor.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITextAnalysisService.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITokenMatcher.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/MatchReason.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/DomainTermMatcher.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/ExactMatcher.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index b2105b870..d0cbc1bcb 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,7 +5,9 @@ true + + @@ -18,6 +20,7 @@ + diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs new file mode 100644 index 000000000..5382e970a --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs @@ -0,0 +1,52 @@ + +namespace BotSharp.Abstraction.FuzzSharp.Arguments +{ + public class TextAnalysisRequest + { + /// + /// Text to analyze + /// + [Required] + [JsonPropertyName("text")] + public string Text { get; set; } = string.Empty; + + /// + /// Folder path containing CSV files (will read all .csv files from the folder or its 'output' subfolder) + /// + [JsonPropertyName("vocabulary_folder_path")] + public string? VocabularyFolderPath { get; set; } + + /// + /// Domain term mapping CSV file + /// + [JsonPropertyName("domain_term_mapping_file")] + public string? DomainTermMappingFile { get; set; } + + /// + /// Min score for suggestions (0.0-1.0) + /// + [JsonPropertyName("cutoff")] + [Range(0.0, 1.0)] + public double Cutoff { get; set; } = 0.80; + + /// + /// Max candidates per domain (1-20) + /// + [JsonPropertyName("topk")] + [Range(1, 20)] + public int TopK { get; set; } = 5; + + /// + /// Max n-gram size (1-10) + /// + [JsonPropertyName("max_ngram")] + [Range(1, 10)] + public int MaxNgram { get; set; } = 5; + + /// + /// Include tokens field in response (default: False) + /// + [JsonPropertyName("include_tokens")] + public bool IncludeTokens { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/INgramProcessor.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/INgramProcessor.cs new file mode 100644 index 000000000..c2d91b0e4 --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/INgramProcessor.cs @@ -0,0 +1,27 @@ +using BotSharp.Abstraction.FuzzSharp.Models; + +namespace BotSharp.Abstraction.FuzzSharp +{ + public interface INgramProcessor + { + /// + /// Process tokens and generate all possible n-gram match results + /// + /// List of tokens to process + /// Vocabulary (domain type -> vocabulary set) + /// Domain term mapping + /// Lookup table (lowercase vocabulary -> (canonical form, domain type list)) + /// Maximum n-gram length + /// Minimum confidence threshold for fuzzy matching + /// Maximum number of matches to return + /// List of flagged items + List ProcessNgrams( + List tokens, + Dictionary> vocabulary, + Dictionary domainTermMapping, + Dictionary DomainTypes)> lookup, + int maxNgram, + double cutoff, + int topK); + } +} diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IResultProcessor.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IResultProcessor.cs new file mode 100644 index 000000000..b406f9348 --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IResultProcessor.cs @@ -0,0 +1,18 @@ +using BotSharp.Abstraction.FuzzSharp.Models; + +namespace BotSharp.Abstraction.FuzzSharp +{ + /// + /// Result processor interface + /// Responsible for processing match results, including deduplication and sorting + /// + public interface IResultProcessor + { + /// + /// Process a list of flagged items, removing overlapping duplicates and sorting + /// + /// List of flagged items to process + /// Processed list of flagged items (deduplicated and sorted) + List ProcessResults(List flagged); + } +} diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITextAnalysisService.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITextAnalysisService.cs new file mode 100644 index 000000000..4add4f62b --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITextAnalysisService.cs @@ -0,0 +1,13 @@ +using BotSharp.Abstraction.FuzzSharp.Arguments; +using BotSharp.Abstraction.FuzzSharp.Models; + +namespace BotSharp.Abstraction.FuzzSharp +{ + public interface ITextAnalysisService + { + /// + /// Analyze text for typos and entities using domain-specific vocabulary + /// + Task AnalyzeTextAsync(TextAnalysisRequest request); + } +} diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITokenMatcher.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITokenMatcher.cs new file mode 100644 index 000000000..5e0b04ac5 --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITokenMatcher.cs @@ -0,0 +1,40 @@ +namespace BotSharp.Abstraction.FuzzSharp +{ + public interface ITokenMatcher + { + /// + /// Try to match a content span and return a match result + /// + /// The matching context containing all necessary information + /// Match result if found, null otherwise + MatchResult? TryMatch(MatchContext context); + + /// + /// Priority of this matcher (higher priority matchers are tried first) + /// + int Priority { get; } + } + + /// + /// Context information for token matching + /// + public record MatchContext( + string ContentSpan, + string ContentLow, + int StartIndex, + int NgramLength, + Dictionary> Vocabulary, + Dictionary DomainTermMapping, + Dictionary DomainTypes)> Lookup, + double Cutoff, + int TopK); + + /// + /// Result of a token match + /// + public record MatchResult( + string CanonicalForm, + List DomainTypes, + string MatchType, + double Confidence); +} diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs new file mode 100644 index 000000000..63210bed2 --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs @@ -0,0 +1,9 @@ + +namespace BotSharp.Abstraction.FuzzSharp +{ + public interface IVocabularyService + { + Task>> LoadVocabularyAsync(string? folderPath); + Task> LoadDomainTermMappingAsync(string? filePath); + } +} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs new file mode 100644 index 000000000..1d9f0fc9b --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs @@ -0,0 +1,50 @@ + +namespace BotSharp.Abstraction.FuzzSharp.Models +{ + public class FlaggedItem + { + /// + /// Token index in the original text + /// + [JsonPropertyName("index")] + public int Index { get; set; } + + /// + /// Original token text + /// + [JsonPropertyName("token")] + public string Token { get; set; } = string.Empty; + + /// + /// Domain types where this token was found (e.g., ['client_Profile.Name', 'data_ServiceType.Name']) + /// + [JsonPropertyName("domain_types")] + public List DomainTypes { get; set; } = new(); + + /// + /// Type of match: 'domain_term_mapping' (business abbreviations, confidence=1.0) | + /// 'exact_match' (vocabulary matches, confidence=1.0) | + /// 'typo_correction' (spelling corrections, confidence less than 1.0) + /// + [JsonPropertyName("match_type")] + public string MatchType { get; set; } = string.Empty; + + /// + /// Canonical form or suggested correction + /// + [JsonPropertyName("canonical_form")] + public string CanonicalForm { get; set; } = string.Empty; + + /// + /// Confidence score (0.0-1.0, where 1.0 is exact match) + /// + [JsonPropertyName("confidence")] + public double Confidence { get; set; } + + /// + /// N-gram length (number of tokens in this match). Internal field, not included in JSON output. + /// + [JsonIgnore] + public int NgramLength { get; set; } + } +} diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs new file mode 100644 index 000000000..af6bcab83 --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs @@ -0,0 +1,31 @@ + +namespace BotSharp.Abstraction.FuzzSharp.Models +{ + public class TextAnalysisResponse + { + /// + /// Original text + /// + [JsonPropertyName("original")] + public string Original { get; set; } = string.Empty; + + /// + /// Tokenized text (only included if include_tokens=true) + /// + [JsonPropertyName("tokens")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public List? Tokens { get; set; } + + /// + /// Flagged items (filter by 'match_type' field: 'domain_term_mapping', 'exact_match', or 'typo_correction') + /// + [JsonPropertyName("flagged")] + public List Flagged { get; set; } = new(); + + /// + /// Processing time in milliseconds + /// + [JsonPropertyName("processing_time_ms")] + public double ProcessingTimeMs { get; set; } + } +} \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj b/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj new file mode 100644 index 000000000..6948563d2 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj @@ -0,0 +1,17 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs new file mode 100644 index 000000000..015535c46 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs @@ -0,0 +1,257 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Plugin.FuzzySharp.Services; +using BotSharp.Plugin.FuzzySharp.Utils; +using System.Text.RegularExpressions; +using FuzzySharp; + +namespace BotSharp.Plugin.FuzzySharp.Constants +{ + public class FuzzyMatcher : ITokenMatcher + { + public int Priority => 1; // Lowest priority + + public MatchResult? TryMatch(MatchContext context) + { + var match = CheckTypoCorrection(context.ContentSpan, context.Vocabulary, context.Cutoff); + if (match == null) + { + return null; + } + + return new MatchResult( + CanonicalForm: match.CanonicalForm, + DomainTypes: new List { match.DomainType }, + MatchType: MatchReason.TypoCorrection, + Confidence: match.Confidence); + } + + /// + /// Check typo correction using fuzzy matching with hybrid approach + /// + private TypoCorrectionMatch? CheckTypoCorrection( + string contentSpan, + Dictionary> vocabulary, + double cutoff) + { + // Hybrid filtering parameters + const double minLengthRatio = 0.4; + const double maxLengthRatio = 2.5; + const int allowTokenDiff = 1; + const int baseCutoff = 60; + const int strictScoreCutoff = 85; + const bool useAdaptiveThreshold = true; + + // Normalize and prepare query + var normalizedToken = Normalize(contentSpan); + var queryTokenCount = TextTokenizer.SimpleTokenize(normalizedToken).Count; + var queryLenChars = normalizedToken.Replace(" ", "").Length; + + // Compute adaptive thresholds based on query length + var (adaptiveCutoff, adaptiveStrictCutoff) = ComputeAdaptiveThresholds( + queryLenChars, baseCutoff, strictScoreCutoff, useAdaptiveThreshold); + + // Find best match across all domains + var (bestName, bestType, bestScore) = FindBestMatchAcrossDomains( + normalizedToken, + queryTokenCount, + vocabulary, + minLengthRatio, + maxLengthRatio, + allowTokenDiff, + adaptiveCutoff, + adaptiveStrictCutoff); + + + if (bestName == null) + { + return null; + } + + // Apply user's cutoff threshold + if (bestScore < cutoff * 100) + { + return null; + } + + return new TypoCorrectionMatch( + bestName, + bestType!, + Math.Round(bestScore / 100.0, 3)); + } + + /// + /// Normalize text for fuzzy matching comparison + /// - Replaces all non-word characters (except apostrophes) with spaces + /// - Converts to lowercase + /// - Collapses multiple spaces into single space + /// - Trims leading/trailing whitespace + /// Example: "Test-Value (123)" → "test value 123" + /// + /// Text to normalize + /// Normalized text suitable for fuzzy matching + private string Normalize(string text) + { + // Replace non-word characters (except apostrophes) with spaces + var normalized = Regex.Replace(text, @"[^\w']+", " ", RegexOptions.IgnoreCase); + // Convert to lowercase, collapse multiple spaces, and trim + return Regex.Replace(normalized.ToLowerInvariant(), @"\s+", " ").Trim(); + } + + private (int AdaptiveCutoff, int AdaptiveStrictCutoff) ComputeAdaptiveThresholds( + int queryLenChars, int scoreCutoff, int strictScoreCutoff, bool useAdaptiveThreshold) + { + if (!useAdaptiveThreshold) + { + return (scoreCutoff, strictScoreCutoff); + } + + if (queryLenChars <= 3) + { + return (Math.Max(scoreCutoff, 90), 95); + } + else if (queryLenChars <= 10) + { + return (scoreCutoff, strictScoreCutoff); + } + else + { + return (Math.Max(scoreCutoff - 5, 55), Math.Max(strictScoreCutoff - 5, 80)); + } + } + + private (string? BestName, string? BestType, int BestScore) FindBestMatchAcrossDomains( + string normalizedToken, + int queryTokenCount, + Dictionary> vocabulary, + double minLengthRatio, + double maxLengthRatio, + int allowTokenDiff, + int adaptiveCutoff, + int adaptiveStrictCutoff) + { + string? bestName = null; + string? bestType = null; + int bestScore = 0; + + foreach (var (domainType, terms) in vocabulary) + { + var (domainBestName, domainBestScore) = FindBestCandidateInDomain( + normalizedToken, + queryTokenCount, + terms.ToList(), + minLengthRatio, + maxLengthRatio, + allowTokenDiff, + adaptiveCutoff, + adaptiveStrictCutoff); + + if (domainBestName != null && domainBestScore > bestScore) + { + bestName = domainBestName; + bestType = domainType; + bestScore = domainBestScore; + } + } + + return (bestName, bestType, bestScore); + } + + private (string? BestName, int BestScore) FindBestCandidateInDomain( + string normalizedToken, + int queryTokenCount, + List candidates, + double minLengthRatio, + double maxLengthRatio, + int allowTokenDiff, + int adaptiveCutoff, + int adaptiveStrictCutoff) + { + // Step 1: Filter by character length ratio (coarse filter) + var lengthFiltered = FilterByLengthRatio(candidates, normalizedToken, minLengthRatio, maxLengthRatio); + if (lengthFiltered.Count == 0) + { + return (null, 0); + } + + // Step 2: Find the best fuzzy match from length-filtered candidates + int domainBestScore = 0; + string? domainBestName = null; + + foreach (var candidate in lengthFiltered) + { + var normalizedCandidate = Normalize(candidate); + var score = Fuzz.Ratio(normalizedToken, normalizedCandidate); + + if (score < adaptiveCutoff) + { + continue; + } + + // Step 3: Apply token count filtering + if (IsValidMatch(score, queryTokenCount, normalizedCandidate, allowTokenDiff, adaptiveCutoff, adaptiveStrictCutoff)) + { + if (score > domainBestScore) + { + domainBestScore = score; + domainBestName = candidate; + } + } + } + + return (domainBestName, domainBestScore); + } + + private List FilterByLengthRatio( + List choices, string queryNormalized, double minLengthRatio, double maxLengthRatio) + { + var qLen = queryNormalized.Replace(" ", "").Length; + if (qLen == 0) + { + return new List(); + } + + var kept = new List(); + foreach (var choice in choices) + { + var cNormalized = Normalize(choice); + var cLen = cNormalized.Replace(" ", "").Length; + if (cLen == 0) + { + continue; + } + + var lengthRatio = (double)cLen / qLen; + if (lengthRatio >= minLengthRatio && lengthRatio <= maxLengthRatio) + { + kept.Add(choice); + } + } + + return kept; + } + + private bool IsValidMatch( + int score, + int queryTokenCount, + string normalizedCandidate, + int allowTokenDiff, + int adaptiveCutoff, + int adaptiveStrictCutoff) + { + var termTokenCount = TextTokenizer.SimpleTokenize(normalizedCandidate).Count; + var tokenDiff = Math.Abs(termTokenCount - queryTokenCount); + + if (tokenDiff == 0 && score >= adaptiveCutoff) + { + return true; + } + + if (tokenDiff <= allowTokenDiff && score >= adaptiveStrictCutoff) + { + return true; + } + + return false; + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/MatchReason.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/MatchReason.cs new file mode 100644 index 000000000..369d3fb9c --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/MatchReason.cs @@ -0,0 +1,21 @@ + +namespace BotSharp.Plugin.FuzzySharp.Constants +{ + public static class MatchReason + { + /// + /// Token matched a domain term mapping (e.g., HVAC -> Air Conditioning/Heating) + /// + public const string DomainTermMapping = "domain_term_mapping"; + + /// + /// Token exactly matched a vocabulary entry + /// + public const string ExactMatch = "exact_match"; + + /// + /// Token was flagged as a potential typo and a correction was suggested + /// + public const string TypoCorrection = "typo_correction"; + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs new file mode 100644 index 000000000..9032589d0 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs @@ -0,0 +1,27 @@ + +namespace BotSharp.Plugin.FuzzySharp.Constants +{ + public static class TextConstants + { + /// + /// Characters that need to be separated during tokenization (by adding spaces before and after) + /// Includes: parentheses, brackets, braces, punctuation marks, special symbols, etc. + /// This ensures "(IH)" is split into "(", "IH", ")" + /// + public static readonly char[] TokenSeparationChars = + { + // Parentheses and brackets + '(', ')', '[', ']', '{', '}', + // Punctuation marks + ',', '.', ';', ':', '!', '?', + // Special symbols + '=', '@', '#', '$', '%', '^', '&', '*', '+', '-', '/', '\\', '|', '<', '>', '~', '`' + }; + + /// + /// Text separators used for tokenization and n-gram processing + /// Includes: equals, colon, semicolon, question mark, exclamation mark, comma, period + /// + public static readonly char[] SeparatorChars = { '=', ':', ';', '?', '!', ',', '.' }; + } +} \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs new file mode 100644 index 000000000..7cab839ca --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs @@ -0,0 +1,8 @@ + +namespace BotSharp.Plugin.FuzzySharp.Repository +{ + public interface IVocabularyRepository + { + Task>> FetchTableColumnValuesAsync(); + } +} \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs new file mode 100644 index 000000000..93142b2c9 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BotSharp.Plugin.FuzzySharp.Repository +{ + public class VocabularyRepository : IVocabularyRepository + { + public Task>> FetchTableColumnValuesAsync() + { + throw new NotImplementedException(); + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/DomainTermMatcher.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/DomainTermMatcher.cs new file mode 100644 index 000000000..e8813013d --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/DomainTermMatcher.cs @@ -0,0 +1,24 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Plugin.FuzzySharp.Constants; + +namespace BotSharp.Plugin.FuzzySharp.Services.Matching +{ + public class DomainTermMatcher : ITokenMatcher + { + public int Priority => 3; // Highest priority + + public MatchResult? TryMatch(MatchContext context) + { + if (context.DomainTermMapping.TryGetValue(context.ContentLow, out var match)) + { + return new MatchResult( + CanonicalForm: match.CanonicalForm, + DomainTypes: new List { match.DbPath }, + MatchType: MatchReason.DomainTermMapping, + Confidence: 1.0); + } + + return null; + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/ExactMatcher.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/ExactMatcher.cs new file mode 100644 index 000000000..f404f47b8 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/ExactMatcher.cs @@ -0,0 +1,24 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Plugin.FuzzySharp.Constants; + +namespace BotSharp.Plugin.FuzzySharp.Services.Matching +{ + public class ExactMatcher : ITokenMatcher + { + public int Priority => 2; // Second highest priority + + public MatchResult? TryMatch(MatchContext context) + { + if (context.Lookup.TryGetValue(context.ContentLow, out var match)) + { + return new MatchResult( + CanonicalForm: match.CanonicalForm, + DomainTypes: match.DomainTypes, + MatchType: MatchReason.ExactMatch, + Confidence: 1.0); + } + + return null; + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs new file mode 100644 index 000000000..abfeac7cf --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs @@ -0,0 +1,204 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.FuzzSharp.Models; +using BotSharp.Plugin.FuzzySharp.Constants; +using BotSharp.Plugin.FuzzySharp.Utils; + +namespace BotSharp.Plugin.FuzzySharp.Services +{ + public class NgramProcessor : INgramProcessor + { + private readonly List _matchers; + + public NgramProcessor(IEnumerable matchers) + { + // Sort matchers by priority (highest first) + _matchers = matchers.OrderByDescending(m => m.Priority).ToList(); + } + + public List ProcessNgrams( + List tokens, + Dictionary> vocabulary, + Dictionary domainTermMapping, + Dictionary DomainTypes)> lookup, + int maxNgram, + double cutoff, + int topK) + { + var flagged = new List(); + + // Process n-grams from largest to smallest + for (int n = maxNgram; n >= 1; n--) + { + for (int i = 0; i <= tokens.Count - n; i++) + { + var item = ProcessSingleNgram( + tokens, + i, + n, + vocabulary, + domainTermMapping, + lookup, + cutoff, + topK); + + if (item != null) + { + flagged.Add(item); + } + } + } + + return flagged; + } + + /// + /// Process a single n-gram at the specified position + /// + private FlaggedItem? ProcessSingleNgram( + List tokens, + int startIdx, + int n, + Dictionary> vocabulary, + Dictionary domainTermMapping, + Dictionary DomainTypes)> lookup, + double cutoff, + int topK) + { + // Skip if starting with separator + if (IsSeparatorToken(tokens[startIdx])) + { + return null; + } + + // Extract content span (remove leading/trailing separators) + var (contentSpan, contentIndices) = ExtractContentSpan(tokens, startIdx, n); + + if (string.IsNullOrWhiteSpace(contentSpan) || contentIndices.Count == 0) + { + return null; + } + + var startIndex = contentIndices[0]; + var contentLow = contentSpan.ToLowerInvariant(); + + // Before fuzzy matching, skip if any contiguous sub-span has an exact or mapped match + // This prevents "with pending dispatch" from being fuzzy-matched when "pending dispatch" is exact + if (n > 1 && HasExactSubspanMatch(contentSpan, lookup, domainTermMapping)) + { + return null; + } + + // Try matching in priority order using matchers + var context = new MatchContext( + contentSpan, contentLow, startIndex, n, + vocabulary, domainTermMapping, lookup, + cutoff, topK); + + foreach (var matcher in _matchers) + { + var matchResult = matcher.TryMatch(context); + if (matchResult != null) + { + return CreateFlaggedItem(matchResult, startIndex, contentSpan, n); + } + } + + return null; + } + + /// + /// Create a FlaggedItem from a MatchResult + /// + private FlaggedItem CreateFlaggedItem( + MatchResult matchResult, + int startIndex, + string contentSpan, + int ngramLength) + { + return new FlaggedItem + { + Index = startIndex, + Token = contentSpan, + DomainTypes = matchResult.DomainTypes, + MatchType = matchResult.MatchType, + CanonicalForm = matchResult.CanonicalForm, + Confidence = matchResult.Confidence, + NgramLength = ngramLength + }; + } + + /// + /// Check if token is a separator + /// + private bool IsSeparatorToken(string token) + { + return token.Length == 1 && TextConstants.SeparatorChars.Contains(token[0]); + } + + /// + /// Extract content span by removing leading and trailing separators + /// + private (string ContentSpan, List ContentIndices) ExtractContentSpan( + List tokens, int startIdx, int n) + { + var span = tokens.Skip(startIdx).Take(n).ToList(); + var indices = Enumerable.Range(startIdx, n).ToList(); + + // Remove leading separators + while (span.Count > 0 && IsSeparatorToken(span[0])) + { + span.RemoveAt(0); + indices.RemoveAt(0); + } + + // Remove trailing separators + while (span.Count > 0 && IsSeparatorToken(span[^1])) + { + span.RemoveAt(span.Count - 1); + indices.RemoveAt(indices.Count - 1); + } + + return (string.Join(" ", span), indices); + } + + /// + /// Check whether any contiguous sub-span of content_span is an exact hit + /// + private bool HasExactSubspanMatch( + string contentSpan, + Dictionary DomainTypes)> lookup, + Dictionary domainTermMapping) + { + if (string.IsNullOrWhiteSpace(contentSpan)) + { + return false; + } + + var contentTokens = TextTokenizer.SimpleTokenize(contentSpan); + + // Try all contiguous sub-spans + for (int subN = contentTokens.Count; subN > 0; subN--) + { + for (int subI = 0; subI <= contentTokens.Count - subN; subI++) + { + var subSpan = string.Join(" ", contentTokens.Skip(subI).Take(subN)); + var subSpanLow = subSpan.ToLowerInvariant(); + + // Check if it's in domain term mapping + if (domainTermMapping.ContainsKey(subSpanLow)) + { + return true; + } + + // Check if it's an exact match in lookup table + if (lookup.ContainsKey(subSpanLow)) + { + return true; + } + } + } + + return false; + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs new file mode 100644 index 000000000..8e87ff806 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs @@ -0,0 +1,83 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.FuzzSharp.Models; + +namespace BotSharp.Plugin.FuzzySharp.Services +{ + public class ResultProcessor : IResultProcessor + { + public List ProcessResults(List flagged) + { + // Remove overlapping duplicates + var deduped = RemoveOverlappingDuplicates(flagged); + + // Sort by confidence (descending), then match_type (alphabetically) + // This matches Python's _sort_and_format_results function + return deduped + .OrderByDescending(f => f.Confidence) + .ThenBy(f => f.MatchType) + .ToList(); + } + + /// + /// Remove overlapping detections with the same canonical form and match type. + /// When multiple detections overlap and have the same canonical_form and match_type, + /// keep only the best one based on: 1. Highest confidence, 2. Shortest n-gram length + /// This matches Python's _remove_overlapping_duplicates function. + /// + private List RemoveOverlappingDuplicates(List flagged) + { + var deduped = new List(); + var skipIndices = new HashSet(); + + for (int i = 0; i < flagged.Count; i++) + { + if (skipIndices.Contains(i)) + { + continue; + } + + var item = flagged[i]; + var itemRange = (item.Index, item.Index + item.NgramLength); + + // Find all overlapping items with same canonical_form and match_type + var overlappingGroup = new List { item }; + for (int j = i + 1; j < flagged.Count; j++) + { + if (skipIndices.Contains(j)) + { + continue; + } + + var other = flagged[j]; + if (item.CanonicalForm == other.CanonicalForm && item.MatchType == other.MatchType) + { + var otherRange = (other.Index, other.Index + other.NgramLength); + if (RangesOverlap(itemRange, otherRange)) + { + overlappingGroup.Add(other); + skipIndices.Add(j); + } + } + } + + // Keep the best item from the overlapping group + // Priority: highest confidence, then shortest ngram + var bestItem = overlappingGroup + .OrderByDescending(x => x.Confidence) + .ThenBy(x => x.NgramLength) + .First(); + deduped.Add(bestItem); + } + + return deduped; + } + + /// + /// Check if two token ranges overlap. + /// + private bool RangesOverlap((int start, int end) range1, (int start, int end) range2) + { + return range1.start < range2.end && range2.start < range1.end; + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs new file mode 100644 index 000000000..417a7ce89 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs @@ -0,0 +1,142 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.FuzzSharp.Arguments; +using BotSharp.Abstraction.FuzzSharp.Models; +using BotSharp.Plugin.FuzzySharp.Utils; +using Microsoft.Extensions.Logging; +using System.Diagnostics; + +namespace BotSharp.Plugin.FuzzySharp.Services +{ + internal record TypoCorrectionMatch(string CanonicalForm, string DomainType, double Confidence); + + public class TextAnalysisService : ITextAnalysisService + { + private readonly ILogger _logger; + private readonly IVocabularyService _vocabularyService; + private readonly INgramProcessor _ngramProcessor; + private readonly IResultProcessor _resultProcessor; + + public TextAnalysisService( + ILogger logger, + IVocabularyService vocabularyService, + INgramProcessor ngramProcessor, + IResultProcessor resultProcessor) + { + _logger = logger; + _vocabularyService = vocabularyService; + _ngramProcessor = ngramProcessor; + _resultProcessor = resultProcessor; + } + + /// + /// Analyze text for typos and entities using domain-specific vocabulary + /// + public async Task AnalyzeTextAsync(TextAnalysisRequest request) + { + var stopwatch = Stopwatch.StartNew(); + try + { + // Tokenize the text + var tokens = TextTokenizer.Tokenize(request.Text); + + // Load vocabulary + var vocabulary = await _vocabularyService.LoadVocabularyAsync(request.VocabularyFolderPath); + + // Load domain term mapping + var domainTermMapping = await _vocabularyService.LoadDomainTermMappingAsync(request.DomainTermMappingFile); + + // Analyze text + var flagged = AnalyzeTokens(tokens, vocabulary, domainTermMapping, request); + + stopwatch.Stop(); + + var response = new TextAnalysisResponse + { + Original = request.Text, + Flagged = flagged, + ProcessingTimeMs = Math.Round(stopwatch.Elapsed.TotalMilliseconds, 2) + }; + + if (request.IncludeTokens) + { + response.Tokens = tokens; + } + + _logger.LogInformation( + $"Text analysis completed in {response.ProcessingTimeMs}ms | " + + $"Text length: {request.Text.Length} chars | " + + $"Flagged items: {flagged.Count}"); + + return response; + } + catch (Exception ex) + { + stopwatch.Stop(); + _logger.LogError(ex, $"Error analyzing text after {stopwatch.Elapsed.TotalMilliseconds}ms"); + throw; + } + } + + /// + /// Analyze tokens for typos and entities + /// + private List AnalyzeTokens( + List tokens, + Dictionary> vocabulary, + Dictionary domainTermMapping, + TextAnalysisRequest request) + { + // Build lookup table for O(1) exact match lookups (matching Python's build_lookup) + var lookup = BuildLookup(vocabulary); + + // Process n-grams and find matches + var flagged = _ngramProcessor.ProcessNgrams( + tokens, + vocabulary, + domainTermMapping, + lookup, + request.MaxNgram, + request.Cutoff, + request.TopK); + + // Process results: deduplicate and sort + return _resultProcessor.ProcessResults(flagged); + } + + /// + /// Build a lookup dictionary mapping lowercase terms to their canonical form and domain types. + /// This is a performance optimization - instead of iterating through all domains for each lookup, + /// we build a flat dictionary once at the start. + /// + /// Matches Python's build_lookup() function. + /// + private Dictionary DomainTypes)> BuildLookup( + Dictionary> vocabulary) + { + var lookup = new Dictionary DomainTypes)>(); + + foreach (var (domainType, terms) in vocabulary) + { + foreach (var term in terms) + { + var key = term.ToLowerInvariant(); + if (lookup.TryGetValue(key, out var existing)) + { + // Term already exists - add this domain type to the list if not already there + if (!existing.DomainTypes.Contains(domainType)) + { + existing.DomainTypes.Add(domainType); + } + } + else + { + // New term - create entry with single type in list + lookup[key] = (term, new List { domainType }); + } + } + } + + return lookup; + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs new file mode 100644 index 000000000..5aa216b33 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs @@ -0,0 +1,184 @@ +using BotSharp.Abstraction.FuzzSharp; +using CsvHelper; +using CsvHelper.Configuration; +using Microsoft.Extensions.Logging; +using System.Globalization; + +namespace BotSharp.Plugin.FuzzySharp.Services +{ + public class VocabularyService : IVocabularyService + { + private readonly ILogger _logger; + + public VocabularyService(ILogger logger) + { + _logger = logger; + } + + public async Task>> LoadVocabularyAsync(string? folderPath) + { + var vocabulary = new Dictionary>(); + + if (string.IsNullOrEmpty(folderPath)) + { + return vocabulary; + } + + // Load CSV files from the folder + var csvFileDict = await LoadCsvFilesFromFolderAsync(folderPath); + if (csvFileDict.Count == 0) + { + return vocabulary; + } + + // Load each CSV file + foreach (var (domainType, filePath) in csvFileDict) + { + try + { + var terms = await LoadCsvFileAsync(filePath); + vocabulary[domainType] = terms; + _logger.LogInformation($"Loaded {terms.Count} terms for domain type '{domainType}' from {filePath}"); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Error loading CSV file for domain type '{domainType}': {filePath}"); + } + } + + return vocabulary; + } + + public async Task> LoadDomainTermMappingAsync(string? filePath) + { + var result = new Dictionary(); + + if (string.IsNullOrWhiteSpace(filePath)) + { + return result; + } + + if (string.IsNullOrEmpty(filePath) || !File.Exists(filePath)) + { + return result; + } + + try + { + using var reader = new StreamReader(filePath); + using var csv = new CsvReader(reader, CreateCsvConfig()); + + await csv.ReadAsync(); + csv.ReadHeader(); + + if (!HasRequiredColumns(csv)) + { + _logger.LogWarning("Domain term mapping file missing required columns: {FilePath}", filePath); + return result; + } + + while (await csv.ReadAsync()) + { + var term = csv.GetField("term") ?? string.Empty; + var dbPath = csv.GetField("dbPath") ?? string.Empty; + var canonicalForm = csv.GetField("canonical_form") ?? string.Empty; + + if (term.Length == 0 || dbPath.Length == 0 || canonicalForm.Length == 0) + { + _logger.LogWarning( + "Missing column(s) in CSV at row {Row}: term={Term}, dbPath={DbPath}, canonical_form={CanonicalForm}", + csv.Parser.RawRow, + term ?? "", + dbPath ?? "", + canonicalForm ?? ""); + continue; + } + + var key = term.ToLowerInvariant(); + result[key] = (dbPath, canonicalForm); + } + + _logger.LogInformation("Loaded domain term mapping from {FilePath}: {Count} terms", filePath, result.Count); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error loading domain term mapping file: {FilePath}", filePath); + } + + return result; + } + + private async Task> LoadCsvFileAsync(string filePath) + { + var terms = new HashSet(StringComparer.OrdinalIgnoreCase); + + if (!File.Exists(filePath)) + { + _logger.LogWarning($"CSV file does not exist: {filePath}"); + return terms; + } + + using var reader = new StreamReader(filePath); + using var csv = new CsvReader(reader, new CsvConfiguration(CultureInfo.InvariantCulture) + { + HasHeaderRecord = false // No header in the CSV files + }); + + while (await csv.ReadAsync()) + { + // Read the first column (assuming it contains the terms) + var term = csv.GetField(0); + if (!string.IsNullOrWhiteSpace(term)) + { + terms.Add(term.Trim()); + } + } + + _logger.LogInformation($"Loaded {terms.Count} terms from {Path.GetFileName(filePath)}"); + return terms; + } + + private async Task> LoadCsvFilesFromFolderAsync(string folderPath) + { + var csvFileDict = new Dictionary(); + + // Check if the folder has an 'output' subdirectory + var outputFolder = Path.Combine(folderPath, "output"); + var searchFolder = Directory.Exists(outputFolder) ? outputFolder : folderPath; + + if (!Directory.Exists(searchFolder)) + { + _logger.LogWarning($"Folder does not exist: {searchFolder}"); + return csvFileDict; + } + + var csvFiles = Directory.GetFiles(searchFolder, "*.csv"); + foreach (var file in csvFiles) + { + var fileName = Path.GetFileNameWithoutExtension(file); + csvFileDict[fileName] = file; + } + + _logger.LogInformation($"Loaded {csvFileDict.Count} CSV files from {searchFolder}"); + return await Task.FromResult(csvFileDict); + } + + private static CsvConfiguration CreateCsvConfig() + { + return new CsvConfiguration(CultureInfo.InvariantCulture) + { + HasHeaderRecord = true, + DetectColumnCountChanges = true, + MissingFieldFound = null + }; + } + + private static bool HasRequiredColumns(CsvReader csv) + { + return csv.HeaderRecord is { Length: > 0 } headers + && headers.Contains("term") + && headers.Contains("dbPath") + && headers.Contains("canonical_form"); + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs new file mode 100644 index 000000000..225094782 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs @@ -0,0 +1,64 @@ +using BotSharp.Plugin.FuzzySharp.Constants; + +namespace BotSharp.Plugin.FuzzySharp.Utils +{ + public static class TextTokenizer + { + /// + /// Preprocess text: add spaces before and after characters that need to be separated + /// This allows subsequent simple whitespace tokenization to correctly separate these characters + /// Example: "(IH)" -> " ( IH ) " -> ["(", "IH", ")"] + /// + /// Text to preprocess + /// Preprocessed text + public static string PreprocessText(string text) + { + if (string.IsNullOrWhiteSpace(text)) + { + return text; + } + + var result = new System.Text.StringBuilder(text.Length * 2); + + foreach (var ch in text) + { + // If it's a character that needs to be separated, add spaces before and after + if (TextConstants.TokenSeparationChars.Contains(ch)) + { + result.Append(' '); + result.Append(ch); + result.Append(' '); + } + else + { + result.Append(ch); + } + } + + return result.ToString(); + } + + /// + /// Simple whitespace tokenization + /// Should be called after preprocessing text with PreprocessText + /// + /// Text to tokenize + /// List of tokens + public static List SimpleTokenize(string text) + { + return text.Split(new[] { ' ', '\t', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries).ToList(); + } + + /// + /// Complete tokenization flow: preprocessing + tokenization + /// This is the recommended usage + /// + /// Text to tokenize + /// List of tokens + public static List Tokenize(string text) + { + var preprocessed = PreprocessText(text); + return SimpleTokenize(preprocessed); + } + } +} From 616480a6462da2cc0d036f8cacb5f032ef5c1a07 Mon Sep 17 00:00:00 2001 From: Yanan Wang Date: Thu, 6 Nov 2025 14:01:08 -0600 Subject: [PATCH 2/6] Add FuzzySharp for NER --- BotSharp.sln | 11 + .../Arguments/TextAnalysisRequest.cs | 4 +- .../BotSharp.Plugin.FuzzySharp.csproj | 8 +- .../Constants/FuzzyMatcher.cs | 257 - .../Constants/TextConstants.cs | 13 +- .../Controllers/FuzzySharpController.cs | 61 + .../FuzzySharpPlugin.cs | 29 + .../Repository/IVocabularyRepository.cs | 8 - .../Repository/VocabularyRepository.cs | 16 - .../Services/Matching/FuzzyMatcher.cs | 82 + .../{ => Processors}/NgramProcessor.cs | 110 +- .../{ => Processors}/ResultProcessor.cs | 38 +- .../Services/TextAnalysisService.cs | 4 +- .../Services/VocabularyService.cs | 25 +- .../BotSharp.Plugin.FuzzySharp/Using.cs | 10 + .../Utils/TextTokenizer.cs | 6 +- .../data/fuzzySharp/domainTermMapping.csv | 5 + .../vocabulary/client_Profile.ClientCode.csv | 514 + .../vocabulary/client_Profile.Name.csv | 514 + .../vocabulary/data_ServiceCategory.Name.csv | 157 + .../vocabulary/data_ServiceCode.Name.csv | 10189 ++++++++++++++++ .../vocabulary/data_ServiceType.Name.csv | 1788 +++ .../vocabulary/data_WOStatus.Name.csv | 39 + src/WebStarter/WebStarter.csproj | 1 + src/WebStarter/appsettings.json | 3 +- 25 files changed, 13483 insertions(+), 409 deletions(-) delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Controllers/FuzzySharpController.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/FuzzyMatcher.cs rename src/Plugins/BotSharp.Plugin.FuzzySharp/Services/{ => Processors}/NgramProcessor.cs (52%) rename src/Plugins/BotSharp.Plugin.FuzzySharp/Services/{ => Processors}/ResultProcessor.cs (67%) create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Using.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv diff --git a/BotSharp.sln b/BotSharp.sln index e992d26ad..102137084 100644 --- a/BotSharp.sln +++ b/BotSharp.sln @@ -149,6 +149,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BotSharp.Plugin.ExcelHandle EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BotSharp.Plugin.ImageHandler", "src\Plugins\BotSharp.Plugin.ImageHandler\BotSharp.Plugin.ImageHandler.csproj", "{242F2D93-FCCE-4982-8075-F3052ECCA92C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BotSharp.Plugin.FuzzySharp", "src\Plugins\BotSharp.Plugin.FuzzySharp\BotSharp.Plugin.FuzzySharp.csproj", "{E7C243B9-E751-B3B4-8F16-95C76CA90D31}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -629,6 +631,14 @@ Global {242F2D93-FCCE-4982-8075-F3052ECCA92C}.Release|Any CPU.Build.0 = Release|Any CPU {242F2D93-FCCE-4982-8075-F3052ECCA92C}.Release|x64.ActiveCfg = Release|Any CPU {242F2D93-FCCE-4982-8075-F3052ECCA92C}.Release|x64.Build.0 = Release|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Debug|x64.ActiveCfg = Debug|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Debug|x64.Build.0 = Debug|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Release|Any CPU.Build.0 = Release|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Release|x64.ActiveCfg = Release|Any CPU + {E7C243B9-E751-B3B4-8F16-95C76CA90D31}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -701,6 +711,7 @@ Global {0428DEAA-E4FE-4259-A6D8-6EDD1A9D0702} = {51AFE054-AE99-497D-A593-69BAEFB5106F} {FC63C875-E880-D8BB-B8B5-978AB7B62983} = {51AFE054-AE99-497D-A593-69BAEFB5106F} {242F2D93-FCCE-4982-8075-F3052ECCA92C} = {51AFE054-AE99-497D-A593-69BAEFB5106F} + {E7C243B9-E751-B3B4-8F16-95C76CA90D31} = {51AFE054-AE99-497D-A593-69BAEFB5106F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {A9969D89-C98B-40A5-A12B-FC87E55B3A19} diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs index 5382e970a..32354406e 100644 --- a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs +++ b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs @@ -13,8 +13,8 @@ public class TextAnalysisRequest /// /// Folder path containing CSV files (will read all .csv files from the folder or its 'output' subfolder) /// - [JsonPropertyName("vocabulary_folder_path")] - public string? VocabularyFolderPath { get; set; } + [JsonPropertyName("vocabulary_folder_name")] + public string? VocabularyFolderName { get; set; } /// /// Domain term mapping CSV file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj b/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj index 6948563d2..8561dc204 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj @@ -1,9 +1,13 @@  - net8.0 - enable + $(TargetFramework) enable + $(LangVersion) + $(BotSharpVersion) + $(GeneratePackageOnBuild) + $(GenerateDocumentationFile) + $(SolutionDir)packages diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs deleted file mode 100644 index 015535c46..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/FuzzyMatcher.cs +++ /dev/null @@ -1,257 +0,0 @@ -using BotSharp.Abstraction.FuzzSharp; -using BotSharp.Plugin.FuzzySharp.Services; -using BotSharp.Plugin.FuzzySharp.Utils; -using System.Text.RegularExpressions; -using FuzzySharp; - -namespace BotSharp.Plugin.FuzzySharp.Constants -{ - public class FuzzyMatcher : ITokenMatcher - { - public int Priority => 1; // Lowest priority - - public MatchResult? TryMatch(MatchContext context) - { - var match = CheckTypoCorrection(context.ContentSpan, context.Vocabulary, context.Cutoff); - if (match == null) - { - return null; - } - - return new MatchResult( - CanonicalForm: match.CanonicalForm, - DomainTypes: new List { match.DomainType }, - MatchType: MatchReason.TypoCorrection, - Confidence: match.Confidence); - } - - /// - /// Check typo correction using fuzzy matching with hybrid approach - /// - private TypoCorrectionMatch? CheckTypoCorrection( - string contentSpan, - Dictionary> vocabulary, - double cutoff) - { - // Hybrid filtering parameters - const double minLengthRatio = 0.4; - const double maxLengthRatio = 2.5; - const int allowTokenDiff = 1; - const int baseCutoff = 60; - const int strictScoreCutoff = 85; - const bool useAdaptiveThreshold = true; - - // Normalize and prepare query - var normalizedToken = Normalize(contentSpan); - var queryTokenCount = TextTokenizer.SimpleTokenize(normalizedToken).Count; - var queryLenChars = normalizedToken.Replace(" ", "").Length; - - // Compute adaptive thresholds based on query length - var (adaptiveCutoff, adaptiveStrictCutoff) = ComputeAdaptiveThresholds( - queryLenChars, baseCutoff, strictScoreCutoff, useAdaptiveThreshold); - - // Find best match across all domains - var (bestName, bestType, bestScore) = FindBestMatchAcrossDomains( - normalizedToken, - queryTokenCount, - vocabulary, - minLengthRatio, - maxLengthRatio, - allowTokenDiff, - adaptiveCutoff, - adaptiveStrictCutoff); - - - if (bestName == null) - { - return null; - } - - // Apply user's cutoff threshold - if (bestScore < cutoff * 100) - { - return null; - } - - return new TypoCorrectionMatch( - bestName, - bestType!, - Math.Round(bestScore / 100.0, 3)); - } - - /// - /// Normalize text for fuzzy matching comparison - /// - Replaces all non-word characters (except apostrophes) with spaces - /// - Converts to lowercase - /// - Collapses multiple spaces into single space - /// - Trims leading/trailing whitespace - /// Example: "Test-Value (123)" → "test value 123" - /// - /// Text to normalize - /// Normalized text suitable for fuzzy matching - private string Normalize(string text) - { - // Replace non-word characters (except apostrophes) with spaces - var normalized = Regex.Replace(text, @"[^\w']+", " ", RegexOptions.IgnoreCase); - // Convert to lowercase, collapse multiple spaces, and trim - return Regex.Replace(normalized.ToLowerInvariant(), @"\s+", " ").Trim(); - } - - private (int AdaptiveCutoff, int AdaptiveStrictCutoff) ComputeAdaptiveThresholds( - int queryLenChars, int scoreCutoff, int strictScoreCutoff, bool useAdaptiveThreshold) - { - if (!useAdaptiveThreshold) - { - return (scoreCutoff, strictScoreCutoff); - } - - if (queryLenChars <= 3) - { - return (Math.Max(scoreCutoff, 90), 95); - } - else if (queryLenChars <= 10) - { - return (scoreCutoff, strictScoreCutoff); - } - else - { - return (Math.Max(scoreCutoff - 5, 55), Math.Max(strictScoreCutoff - 5, 80)); - } - } - - private (string? BestName, string? BestType, int BestScore) FindBestMatchAcrossDomains( - string normalizedToken, - int queryTokenCount, - Dictionary> vocabulary, - double minLengthRatio, - double maxLengthRatio, - int allowTokenDiff, - int adaptiveCutoff, - int adaptiveStrictCutoff) - { - string? bestName = null; - string? bestType = null; - int bestScore = 0; - - foreach (var (domainType, terms) in vocabulary) - { - var (domainBestName, domainBestScore) = FindBestCandidateInDomain( - normalizedToken, - queryTokenCount, - terms.ToList(), - minLengthRatio, - maxLengthRatio, - allowTokenDiff, - adaptiveCutoff, - adaptiveStrictCutoff); - - if (domainBestName != null && domainBestScore > bestScore) - { - bestName = domainBestName; - bestType = domainType; - bestScore = domainBestScore; - } - } - - return (bestName, bestType, bestScore); - } - - private (string? BestName, int BestScore) FindBestCandidateInDomain( - string normalizedToken, - int queryTokenCount, - List candidates, - double minLengthRatio, - double maxLengthRatio, - int allowTokenDiff, - int adaptiveCutoff, - int adaptiveStrictCutoff) - { - // Step 1: Filter by character length ratio (coarse filter) - var lengthFiltered = FilterByLengthRatio(candidates, normalizedToken, minLengthRatio, maxLengthRatio); - if (lengthFiltered.Count == 0) - { - return (null, 0); - } - - // Step 2: Find the best fuzzy match from length-filtered candidates - int domainBestScore = 0; - string? domainBestName = null; - - foreach (var candidate in lengthFiltered) - { - var normalizedCandidate = Normalize(candidate); - var score = Fuzz.Ratio(normalizedToken, normalizedCandidate); - - if (score < adaptiveCutoff) - { - continue; - } - - // Step 3: Apply token count filtering - if (IsValidMatch(score, queryTokenCount, normalizedCandidate, allowTokenDiff, adaptiveCutoff, adaptiveStrictCutoff)) - { - if (score > domainBestScore) - { - domainBestScore = score; - domainBestName = candidate; - } - } - } - - return (domainBestName, domainBestScore); - } - - private List FilterByLengthRatio( - List choices, string queryNormalized, double minLengthRatio, double maxLengthRatio) - { - var qLen = queryNormalized.Replace(" ", "").Length; - if (qLen == 0) - { - return new List(); - } - - var kept = new List(); - foreach (var choice in choices) - { - var cNormalized = Normalize(choice); - var cLen = cNormalized.Replace(" ", "").Length; - if (cLen == 0) - { - continue; - } - - var lengthRatio = (double)cLen / qLen; - if (lengthRatio >= minLengthRatio && lengthRatio <= maxLengthRatio) - { - kept.Add(choice); - } - } - - return kept; - } - - private bool IsValidMatch( - int score, - int queryTokenCount, - string normalizedCandidate, - int allowTokenDiff, - int adaptiveCutoff, - int adaptiveStrictCutoff) - { - var termTokenCount = TextTokenizer.SimpleTokenize(normalizedCandidate).Count; - var tokenDiff = Math.Abs(termTokenCount - queryTokenCount); - - if (tokenDiff == 0 && score >= adaptiveCutoff) - { - return true; - } - - if (tokenDiff <= allowTokenDiff && score >= adaptiveStrictCutoff) - { - return true; - } - - return false; - } - } -} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs index 9032589d0..8f160ae5f 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Constants/TextConstants.cs @@ -8,20 +8,23 @@ public static class TextConstants /// Includes: parentheses, brackets, braces, punctuation marks, special symbols, etc. /// This ensures "(IH)" is split into "(", "IH", ")" /// - public static readonly char[] TokenSeparationChars = + public static readonly char[] SeparatorChars = { // Parentheses and brackets '(', ')', '[', ']', '{', '}', // Punctuation marks ',', '.', ';', ':', '!', '?', // Special symbols - '=', '@', '#', '$', '%', '^', '&', '*', '+', '-', '/', '\\', '|', '<', '>', '~', '`' + '=', '@', '#', '$', '%', '^', '&', '*', '+', '-', '\\', '|', '<', '>', '~', '`' }; /// - /// Text separators used for tokenization and n-gram processing - /// Includes: equals, colon, semicolon, question mark, exclamation mark, comma, period + /// Whitespace characters used as token separators during tokenization. + /// Includes: space, tab, newline, and carriage return. /// - public static readonly char[] SeparatorChars = { '=', ':', ';', '?', '!', ',', '.' }; + public static readonly char[] TokenSeparators = + { + ' ', '\t', '\n', '\r' + }; } } \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Controllers/FuzzySharpController.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Controllers/FuzzySharpController.cs new file mode 100644 index 000000000..dc18c73d7 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Controllers/FuzzySharpController.cs @@ -0,0 +1,61 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.FuzzSharp.Arguments; +using BotSharp.Abstraction.FuzzSharp.Models; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; + +namespace BotSharp.Plugin.FuzzySharp.Controllers +{ + [ApiController] + public class FuzzySharpController : ControllerBase + { + private readonly ITextAnalysisService _textAnalysisService; + private readonly ILogger _logger; + + public FuzzySharpController( + ITextAnalysisService textAnalysisService, + ILogger logger) + { + _textAnalysisService = textAnalysisService; + _logger = logger; + } + + /// + /// Analyze text for typos and entities using domain-specific vocabulary. + /// + /// Returns: + /// - `original`: Original input text + /// - `tokens`: Tokenized text (only included if `include_tokens=true`) + /// - `flagged`: List of flagged items (each with `match_type`): + /// - `domain_term_mapping` - Business abbreviations (confidence=1.0) + /// - `exact_match` - Exact vocabulary matches (confidence=1.0) + /// - `typo_correction` - Spelling corrections (confidence less than 1.0) + /// - `processing_time_ms`: Processing time in milliseconds + /// + /// Text analysis request + /// Text analysis response + [HttpPost("fuzzy-sharp/analyze-text")] + [ProducesResponseType(typeof(TextAnalysisResponse), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task AnalyzeText([FromBody] TextAnalysisRequest request) + { + try + { + if (string.IsNullOrWhiteSpace(request.Text)) + { + return BadRequest(new { error = "Text is required" }); + } + + var result = await _textAnalysisService.AnalyzeTextAsync(request); + return Ok(result); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error analyzing text"); + return StatusCode(500, new { error = $"Error analyzing text: {ex.Message}" }); + } + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs new file mode 100644 index 000000000..c50cd5108 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs @@ -0,0 +1,29 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.Plugins; +using BotSharp.Plugin.FuzzySharp.Services; +using BotSharp.Plugin.FuzzySharp.Services.Matching; +using BotSharp.Plugin.FuzzySharp.Services.Processors; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; + +namespace BotSharp.Plugin.FuzzySharp +{ + public class FuzzySharpPlugin : IBotSharpPlugin + { + public string Id => "379e6f7b-c58c-458b-b8cd-0374e5830711"; + public string Name => "Fuzzy Sharp"; + public string Description => "Analyze text for typos and entities using domain-specific vocabulary."; + public string IconUrl => "https://cdn-icons-png.flaticon.com/512/9592/9592995.png"; + + public void RegisterDI(IServiceCollection services, IConfiguration config) + { + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs deleted file mode 100644 index 7cab839ca..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/IVocabularyRepository.cs +++ /dev/null @@ -1,8 +0,0 @@ - -namespace BotSharp.Plugin.FuzzySharp.Repository -{ - public interface IVocabularyRepository - { - Task>> FetchTableColumnValuesAsync(); - } -} \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs deleted file mode 100644 index 93142b2c9..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Repository/VocabularyRepository.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace BotSharp.Plugin.FuzzySharp.Repository -{ - public class VocabularyRepository : IVocabularyRepository - { - public Task>> FetchTableColumnValuesAsync() - { - throw new NotImplementedException(); - } - } -} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/FuzzyMatcher.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/FuzzyMatcher.cs new file mode 100644 index 000000000..c6b3ba477 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Matching/FuzzyMatcher.cs @@ -0,0 +1,82 @@ +using BotSharp.Abstraction.FuzzSharp; +using System.Text.RegularExpressions; +using FuzzySharp; +using FuzzySharp.SimilarityRatio; +using FuzzySharp.SimilarityRatio.Scorer.StrategySensitive; +using BotSharp.Plugin.FuzzySharp.Constants; + +namespace BotSharp.Plugin.FuzzySharp.Services.Matching +{ + public class FuzzyMatcher : ITokenMatcher + { + public int Priority => 1; // Lowest priority + + public MatchResult? TryMatch(MatchContext context) + { + var match = CheckTypoCorrection(context.ContentSpan, context.Lookup, context.Cutoff); + if (match == null) + { + return null; + } + + var (canonicalForm, domainTypes, confidence) = match.Value; + return new MatchResult( + CanonicalForm: canonicalForm, + DomainTypes: domainTypes, + MatchType: MatchReason.TypoCorrection, + Confidence: confidence); + } + + /// + /// Check typo correction using fuzzy matching + /// + private (string CanonicalForm, List DomainTypes, double Confidence)? CheckTypoCorrection( + string contentSpan, + Dictionary DomainTypes)> lookup, + double cutoff) + { + // Convert cutoff to 0-100 scale for FuzzySharp + var scoreCutoff = (int)(cutoff * 100); + + // Get all candidates from lookup + var candidates = lookup.Keys.ToList(); + + // Find best match using ExtractOne + var scorer = ScorerCache.Get(); + var result = Process.ExtractOne( + contentSpan, + candidates, + candidate => Normalize(candidate), // Preprocessor function + scorer, + scoreCutoff // Score cutoff + ); + + if (result == null) + { + return null; + } + + // Get the canonical form and domain types from lookup + var match = lookup[result.Value]; + return (match.CanonicalForm, match.DomainTypes, Math.Round(result.Score / 100.0, 3)); + } + + /// + /// Normalize text for fuzzy matching comparison + /// - Replaces all non-word characters (except apostrophes) with spaces + /// - Converts to lowercase + /// - Collapses multiple spaces into single space + /// - Trims leading/trailing whitespace + /// Example: "Test-Value (123)" → "test value 123" + /// + /// Text to normalize + /// Normalized text suitable for fuzzy matching + private string Normalize(string text) + { + // Replace non-word characters (except apostrophes) with spaces + var normalized = Regex.Replace(text, @"[^\w']+", " ", RegexOptions.IgnoreCase); + // Convert to lowercase, collapse multiple spaces, and trim + return Regex.Replace(normalized.ToLowerInvariant(), @"\s+", " ").Trim(); + } + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Processors/NgramProcessor.cs similarity index 52% rename from src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Processors/NgramProcessor.cs index abfeac7cf..d28829a16 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/NgramProcessor.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Processors/NgramProcessor.cs @@ -3,7 +3,7 @@ using BotSharp.Plugin.FuzzySharp.Constants; using BotSharp.Plugin.FuzzySharp.Utils; -namespace BotSharp.Plugin.FuzzySharp.Services +namespace BotSharp.Plugin.FuzzySharp.Services.Processors { public class NgramProcessor : INgramProcessor { @@ -64,42 +64,33 @@ public List ProcessNgrams( double cutoff, int topK) { - // Skip if starting with separator - if (IsSeparatorToken(tokens[startIdx])) - { - return null; - } - - // Extract content span (remove leading/trailing separators) - var (contentSpan, contentIndices) = ExtractContentSpan(tokens, startIdx, n); - - if (string.IsNullOrWhiteSpace(contentSpan) || contentIndices.Count == 0) + // Extract content span + var (contentSpan, spanTokens, contentIndices) = ExtractContentSpan(tokens, startIdx, n); + if (string.IsNullOrWhiteSpace(contentSpan)) { return null; } - var startIndex = contentIndices[0]; var contentLow = contentSpan.ToLowerInvariant(); - // Before fuzzy matching, skip if any contiguous sub-span has an exact or mapped match - // This prevents "with pending dispatch" from being fuzzy-matched when "pending dispatch" is exact - if (n > 1 && HasExactSubspanMatch(contentSpan, lookup, domainTermMapping)) - { - return null; - } - // Try matching in priority order using matchers var context = new MatchContext( - contentSpan, contentLow, startIndex, n, - vocabulary, domainTermMapping, lookup, - cutoff, topK); + contentSpan, + contentLow, + startIdx, + n, + vocabulary, + domainTermMapping, + lookup, + cutoff, + topK); foreach (var matcher in _matchers) { var matchResult = matcher.TryMatch(context); if (matchResult != null) { - return CreateFlaggedItem(matchResult, startIndex, contentSpan, n); + return CreateFlaggedItem(matchResult, startIdx, contentSpan, n); } } @@ -128,77 +119,16 @@ private FlaggedItem CreateFlaggedItem( } /// - /// Check if token is a separator + /// Extract content span /// - private bool IsSeparatorToken(string token) - { - return token.Length == 1 && TextConstants.SeparatorChars.Contains(token[0]); - } - - /// - /// Extract content span by removing leading and trailing separators - /// - private (string ContentSpan, List ContentIndices) ExtractContentSpan( - List tokens, int startIdx, int n) + private (string ContentSpan, List Tokens, List ContentIndices) ExtractContentSpan( + List tokens, + int startIdx, + int n) { var span = tokens.Skip(startIdx).Take(n).ToList(); var indices = Enumerable.Range(startIdx, n).ToList(); - - // Remove leading separators - while (span.Count > 0 && IsSeparatorToken(span[0])) - { - span.RemoveAt(0); - indices.RemoveAt(0); - } - - // Remove trailing separators - while (span.Count > 0 && IsSeparatorToken(span[^1])) - { - span.RemoveAt(span.Count - 1); - indices.RemoveAt(indices.Count - 1); - } - - return (string.Join(" ", span), indices); - } - - /// - /// Check whether any contiguous sub-span of content_span is an exact hit - /// - private bool HasExactSubspanMatch( - string contentSpan, - Dictionary DomainTypes)> lookup, - Dictionary domainTermMapping) - { - if (string.IsNullOrWhiteSpace(contentSpan)) - { - return false; - } - - var contentTokens = TextTokenizer.SimpleTokenize(contentSpan); - - // Try all contiguous sub-spans - for (int subN = contentTokens.Count; subN > 0; subN--) - { - for (int subI = 0; subI <= contentTokens.Count - subN; subI++) - { - var subSpan = string.Join(" ", contentTokens.Skip(subI).Take(subN)); - var subSpanLow = subSpan.ToLowerInvariant(); - - // Check if it's in domain term mapping - if (domainTermMapping.ContainsKey(subSpanLow)) - { - return true; - } - - // Check if it's an exact match in lookup table - if (lookup.ContainsKey(subSpanLow)) - { - return true; - } - } - } - - return false; + return (string.Join(" ", span), span, indices); } } } diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Processors/ResultProcessor.cs similarity index 67% rename from src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Processors/ResultProcessor.cs index 8e87ff806..2238b6153 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/ResultProcessor.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/Processors/ResultProcessor.cs @@ -1,7 +1,8 @@ using BotSharp.Abstraction.FuzzSharp; using BotSharp.Abstraction.FuzzSharp.Models; +using BotSharp.Plugin.FuzzySharp.Constants; -namespace BotSharp.Plugin.FuzzySharp.Services +namespace BotSharp.Plugin.FuzzySharp.Services.Processors { public class ResultProcessor : IResultProcessor { @@ -19,10 +20,12 @@ public List ProcessResults(List flagged) } /// - /// Remove overlapping detections with the same canonical form and match type. - /// When multiple detections overlap and have the same canonical_form and match_type, - /// keep only the best one based on: 1. Highest confidence, 2. Shortest n-gram length - /// This matches Python's _remove_overlapping_duplicates function. + /// Remove overlapping detections with the same canonical form. + /// When multiple detections overlap and have the same canonical_form, + /// keep only the best one based on: + /// 1. Prefer domain_term_mapping over exact_match over typo_correction (matches matcher priority) + /// 2. Highest confidence + /// 3. Shortest n-gram length /// private List RemoveOverlappingDuplicates(List flagged) { @@ -39,7 +42,7 @@ private List RemoveOverlappingDuplicates(List flagged) var item = flagged[i]; var itemRange = (item.Index, item.Index + item.NgramLength); - // Find all overlapping items with same canonical_form and match_type + // Find all overlapping items with same canonical_form (regardless of match_type) var overlappingGroup = new List { item }; for (int j = i + 1; j < flagged.Count; j++) { @@ -49,7 +52,7 @@ private List RemoveOverlappingDuplicates(List flagged) } var other = flagged[j]; - if (item.CanonicalForm == other.CanonicalForm && item.MatchType == other.MatchType) + if (item.CanonicalForm == other.CanonicalForm) { var otherRange = (other.Index, other.Index + other.NgramLength); if (RangesOverlap(itemRange, otherRange)) @@ -61,9 +64,11 @@ private List RemoveOverlappingDuplicates(List flagged) } // Keep the best item from the overlapping group - // Priority: highest confidence, then shortest ngram + // Priority: domain_term_mapping (3) > exact_match (2) > typo_correction (1) + // Then highest confidence, then shortest ngram var bestItem = overlappingGroup - .OrderByDescending(x => x.Confidence) + .OrderByDescending(x => GetMatchTypePriority(x.MatchType)) + .ThenByDescending(x => x.Confidence) .ThenBy(x => x.NgramLength) .First(); deduped.Add(bestItem); @@ -72,6 +77,21 @@ private List RemoveOverlappingDuplicates(List flagged) return deduped; } + /// + /// Get priority value for match type (higher is better) + /// Matches the priority order in matchers: domain > exact > fuzzy + /// + private int GetMatchTypePriority(string matchType) + { + return matchType switch + { + MatchReason.DomainTermMapping => 3, // Highest priority + MatchReason.ExactMatch => 2, // Second priority + MatchReason.TypoCorrection => 1, // Lowest priority + _ => 0 // Unknown types get lowest priority + }; + } + /// /// Check if two token ranges overlap. /// diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs index 417a7ce89..87bb8d9d1 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs @@ -7,8 +7,6 @@ namespace BotSharp.Plugin.FuzzySharp.Services { - internal record TypoCorrectionMatch(string CanonicalForm, string DomainType, double Confidence); - public class TextAnalysisService : ITextAnalysisService { private readonly ILogger _logger; @@ -40,7 +38,7 @@ public async Task AnalyzeTextAsync(TextAnalysisRequest req var tokens = TextTokenizer.Tokenize(request.Text); // Load vocabulary - var vocabulary = await _vocabularyService.LoadVocabularyAsync(request.VocabularyFolderPath); + var vocabulary = await _vocabularyService.LoadVocabularyAsync(request.VocabularyFolderName); // Load domain term mapping var domainTermMapping = await _vocabularyService.LoadDomainTermMappingAsync(request.DomainTermMappingFile); diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs index 5aa216b33..0be6daaa1 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs @@ -3,6 +3,7 @@ using CsvHelper.Configuration; using Microsoft.Extensions.Logging; using System.Globalization; +using System.IO; namespace BotSharp.Plugin.FuzzySharp.Services { @@ -15,17 +16,17 @@ public VocabularyService(ILogger logger) _logger = logger; } - public async Task>> LoadVocabularyAsync(string? folderPath) + public async Task>> LoadVocabularyAsync(string? foldername) { var vocabulary = new Dictionary>(); - if (string.IsNullOrEmpty(folderPath)) + if (string.IsNullOrEmpty(foldername)) { return vocabulary; } // Load CSV files from the folder - var csvFileDict = await LoadCsvFilesFromFolderAsync(folderPath); + var csvFileDict = await LoadCsvFilesFromFolderAsync(foldername); if (csvFileDict.Count == 0) { return vocabulary; @@ -49,15 +50,17 @@ public async Task>> LoadVocabularyAsync(strin return vocabulary; } - public async Task> LoadDomainTermMappingAsync(string? filePath) + public async Task> LoadDomainTermMappingAsync(string? filename) { var result = new Dictionary(); - - if (string.IsNullOrWhiteSpace(filePath)) + if (string.IsNullOrWhiteSpace(filename)) { return result; } + var searchFolder = Path.Combine(AppContext.BaseDirectory, "data", "plugins", "fuzzySharp"); + var filePath = Path.Combine(searchFolder, filename); + if (string.IsNullOrEmpty(filePath) || !File.Exists(filePath)) { return result; @@ -65,7 +68,7 @@ public async Task>> LoadVocabularyAsync(strin try { - using var reader = new StreamReader(filePath); + using var reader = new StreamReader(filePath); using var csv = new CsvReader(reader, CreateCsvConfig()); await csv.ReadAsync(); @@ -138,14 +141,10 @@ private async Task> LoadCsvFileAsync(string filePath) return terms; } - private async Task> LoadCsvFilesFromFolderAsync(string folderPath) + private async Task> LoadCsvFilesFromFolderAsync(string folderName) { var csvFileDict = new Dictionary(); - - // Check if the folder has an 'output' subdirectory - var outputFolder = Path.Combine(folderPath, "output"); - var searchFolder = Directory.Exists(outputFolder) ? outputFolder : folderPath; - + var searchFolder = Path.Combine(AppContext.BaseDirectory, "data", "plugins", "fuzzySharp", folderName); if (!Directory.Exists(searchFolder)) { _logger.LogWarning($"Folder does not exist: {searchFolder}"); diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Using.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Using.cs new file mode 100644 index 000000000..568fe81d5 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Using.cs @@ -0,0 +1,10 @@ +global using System; +global using System.Collections.Generic; +global using System.Linq; +global using System.Net.Http; +global using System.Net.Mime; +global using System.Text; +global using System.Text.Json; +global using System.Threading; +global using System.Threading.Tasks; + diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs index 225094782..2ccb6ba2f 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Utils/TextTokenizer.cs @@ -18,12 +18,12 @@ public static string PreprocessText(string text) return text; } - var result = new System.Text.StringBuilder(text.Length * 2); + var result = new StringBuilder(text.Length * 2); foreach (var ch in text) { // If it's a character that needs to be separated, add spaces before and after - if (TextConstants.TokenSeparationChars.Contains(ch)) + if (TextConstants.SeparatorChars.Contains(ch)) { result.Append(' '); result.Append(ch); @@ -46,7 +46,7 @@ public static string PreprocessText(string text) /// List of tokens public static List SimpleTokenize(string text) { - return text.Split(new[] { ' ', '\t', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries).ToList(); + return text.Split(TextConstants.TokenSeparators, StringSplitOptions.RemoveEmptyEntries).ToList(); } /// diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv new file mode 100644 index 000000000..ff877b167 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv @@ -0,0 +1,5 @@ +term,dbPath,canonical_form +HVAC,data_ServiceCategory.Name,Air Conditioning/Heating +PVA,data_WOStatus.Name,Pending Vendor Approval +PVQ,data_WOStatus.Name,Pending Vendor Quote +WCPVI,data_WOStatus.Name,Work Complete Pending Vendor Invoice \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv new file mode 100644 index 000000000..1805e6ac2 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv @@ -0,0 +1,514 @@ +WA +KO +BBY +LFD +WT +TM +ORAP +REG +CEC +OM +DGL +PS +TB +AAP +KU +DRI +GE +MIC +FDR +WNS +CPT +JAB +PB +JP +OD +WPH +SV +BEAU +PL +OP +AR +HB +DTV +RB +BELK +BLK +BMO +BGR +COMP +LAC +MI +RBSM +RBS +SAP +CO +CB +BJ +DHG +FFBGR +KEN +FM +LEN +LFS +MU +PNC +PT +RD +RY +TMOR +TMUS +TMO +UTC +SB +FR +HP +CM +TCI +MT +RYCN +CAR +OSH +TYCO +AZ +SM +TFS +RDS +GPM +FA +ELS +DEX +NV +FRY +ARB +ONP +BD +HA +VSAAS +TONE +RT +LLF +PA +BWW +GPMS +NT +ST +WPHR +HAD +AMF +WMC +OWRG +TCF +USPS +NEFB +NEFP +CF +FRS +RHT +TDB +SIT +ARG +CASM +FHN +SLM +FOL +RL +RW +TRIL +MCYS +AV +OPEN +DTC +LLQC +PET +ACE +RLY +SFCJ +BNKR +ARAC +ARSEA +ADVAM +DEL +DRT +COSI +GPS +TMI +RMH +SEI +TRANE +JR +IH +ARDNVGL +ARFLO +GGP +ARWM +SUN +TBG +CC +JPMC +SMC +ARRES +RAM +VIS +CLK +SPP +PEC +WCS +DG +AHS +PUB +SIG +RET +SA +NHR +LO +SC +CRX +RIO +RHA +GO +GM +PAY +BOJA +NDCP +GP +ZG +ND +SMRT +GALL +APX +CW +GRG +ALD +GSS +BLNK +SUB +CHKR +FSR +DIV +GL +RU +WV +ELK +QUA +ID +ACX +FFD +DTR +MC +LSH +UP +PND +LMFS +KBC +ASA +SFRA +AMR +MYPM +HNGR +x +HR +SPO +PAD +MPH +AO +IDT +CE +DVI +CVP +ML +PF +JPJLL +DMKP +RLB +FTA +PG +CCH +AEG +DBI +GRN +HRC +BWH +CCC +PWA +IR +FULL +TPG +LL +GAR +LUX +GPMO +EVNST +FRON +USPSJ +MAN +FPMP +TOM +STR +ARN +TCG +SYL +MCPM +RPM +KD +HS +RDP +WIN +ORP +PNT +AUD +BRG +CTG +VINE +TCB +VEI +ACM +DDD +JFC +SO +RPW +AHC +SPW +DT +FD +MSTC +PFH +SLS +ETL +BHI +MCH +REZ +SPR +DAR +COS +KPL +ILE +MCLT +AS +BC +FK +AMH +HHM +PR +GNSD +HY +KHC +MCK +SSD +EC +STRP +HRG +FILE +ATHS +VAZ +ER +PC +MER +TMP +SRE +SUND +CFP +AUTH +CLC +SREG +LP +GJ +MR +OV +HPM +CAL +URB +IF +MRE +RPMP +FIN +RP +VV +WW +AL +AB +FRFM +ASI +GNS +EK +TFE +MCR +WORX +FH +RAZ +GUP +CAMP +ENT +CHS +KNO +BL +PFI +UDR +SLR +HTSF +MLC +WMH +EDGE +JC +BH +AHR +TIP +COE +WR +FFHB +WREF +RRH +SHB +APCH +CAM +BV +ASH +MARB +FP +BS +TMY +NB +BFG +IRP +TW +CMK +RLI +PJRG +ROL +MSTCC +BGO +POR +SMR +PIRM +MCTC +STOA +HO +ATRIA +LT +HIP +ARK +PV +TH +MCF +FNHW +LC +LSN +CBB +AH +ALT +AJC +PRT +TWC +RRI +HW +GR +LPS +HV +FRM +BRPC +SFR +PBMD +TLG +WSC +CFI +HSU +BN +ANY +JTCR +BCL +BSC +AHV +KRS +4DP +RES +SCH +IGO +STYL +CMW +PP +MCRH +BPA +BHA +CED +SUNC +CRST +STANDRESI +STANDCOM +STANDCP +CAP +LE +INC +CT +MTR +MAW +ABM +LDF +HH +SRNRP +TTC +CLS +STANDTURN +HMR +IAM +OR +JTR +IAMB +EJP +ART +HSUC +CDV +QH +REOP +ORM +MSR +BRPRES +ASG +SSE +BRPCOM +LL2 +TG +FEG +JAD +CPY +LCHL +MOD +PRM +GOP +BUDD +GSM +TRNKY +C7W +AIM +LRSC +RMG +TRI +SS +SMB +CCM +IGOW +SCM +FAMD +SSM +SRIP +MH +RWR +SIP +MED +RBVP +STANDTRRM +ASML +HAL +CRF +KWI +KW +ALL +MCU +WPL +CGP +TRIO +ITW +VGM +STO +LEG +NKG +CH diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv new file mode 100644 index 000000000..d19e2ed4d --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv @@ -0,0 +1,514 @@ +Walgreens +Kohl's +Best Buy +Legacy Family Dollar +Walmart +Tmobile +O'Reilly Auto Parts +Regis Corporation +Career Education Corporation +Office Max +Dollar General Legacy +Public Storage +Taco Bell +Advance Auto Parts +Knowledge Universe +Diamond Resorts +GE +Michaels +Famous Daves +Windstream +Crypton +"JoS. A. Bank Clothiers, Inc." +Protein Bar +JP Morgan Chase +Office Depot +Waypoint Homes +CBRE C/O Supervalu +BEAU +Pathlight +OneProp +Aarons +Harris Bank +DirecTV +Rainbow +Belk (Direct) +Belk (MES) +BMO +Brown Shoe Group +Compass Bank +Lacoste +Mitre +RBS (MES) +RBS Direct +Sapient +CapitalOne +Coldwell Banker OLD +BJ's +DelHaize Food Lion +Famous Footwear BGR +Kenneth Cole +FirstMerit Bank +Lendmark Financial (MES) +Lendmark Financial Direct - Legacy +Murphy USA +PNC +Precision Time +Red Door Day Spa +Ryder +Tmobile (MES) +Tmobile Direct +Tmobile JLL +United Technologies +Silver Bay +Fred +Home Partners of America +ContextMedia +Tire Centers Inc +Mario Tricoci +Ryder Canada +Carters +OshKosh +Tyco +AutoZone +Siemens +Twenty Four 7 Global +Realogy Discovery Survey +GPM Investments +Fallas +ELS +Dollar Express +National Vision +Friendlys Restaurants +Arbys SMS +One Plus +Brookdale +Hendrick Auto +Metaverse (DON'T DISPATCH) +SMS Billing +Release Testing +LL Flooring +Panda +Buffalo Wild Wings +GPM Southeast Holdings +Northern Trust +Stifel +Waypoint Homes Residential +Home Advisor +American Freight +Walmart CBRE +Out West Restaurant Group +Tri City Foods +USPS +Northeast Foods - Burger King +Northeast Foods - Popeyes +Carrols Foods +Freds +PenTest +TD Bank +Stand Interior Test +Arbys +Casual Male +First Horizon National +SLM Realty +Follett +RL Foods +Renters Warehouse +Tricon Legacy +Macys +Art Van +Opendoor +Discount Tire +Lumber Liquidators Canada +PetSmart +Ace Hardware +Coldwell Banker +Stedfast Foods +Brinker +Aramark Amcor +Aramark Samsung Electronics America +Advance America +Del Taco +DriveTime +Cosi +Bridge Homes +Tuesday Morning +RMH Applebees +7-Eleven +Trane +Johnny Rockets +Invitation Homes +Aramark DNV GL +Aramark Flowers Foods Inc +General Growth Properties +Aramark Waste Management +Sunoco +The Beautiful Group +Charming Charlie +JPMC +Shari's +Aramark ResCare +Resolute Asset Management +Visionworks +Clarks +SP+ +Phillips Edison & Company +White Castle System Inc +Dollar General +Ashley HomeStore +Publix Super Markets +Signet +Retail +Second Avenue +National Home Rentals +LendingOne +Sams Club +Conrex +Cafe Rio Inc +RHA Health Services +Grocery Outlet +Grand Mere +Payless ShoeSource Inc +Bojangles +NDCP-Dunkin +GridPoint +Zillow Group +Nestidd +Stein Mart +Galls LLC +Apex National Real Estate +Camping World +Grainger +ALDI +Guess Inc +Blink Fitness +Subway +Checkers and Rallys +Foresite Realty +Divvy Homes +Green Line Capital +RENU Management +Wireless Vision +Elkay +Quanta Finance +Imperial Dade +Ace Cash Express +Forefront Dermatology +Demo-turnsandrehab +"Magnify Capital, LLC" +Lake St Homes +up&up +Pinnacle Dermatology LLC +Lendmark Financial Services +Kennicott Brothers Company +ASSA ABLOY Entrance Systems US Inc +SFR3 Archived +Aramis Realty +Mynd Property Management +Hanger Inc +RedTeam +Home Rentals LLC +Squarepoint Ops LLC +PadSplit +Marketplace Homes +Avenue One +InterDent Service Corporation +CITY ELECTRIC SUPPLY COMPANY +Doorvest Inc +Capview Partners +Milan Laser Hair Removal +Lessen Home Services +JPMC JLL +Denmark Properties LLC +Red Lobster Hospitality LLC +Fortune Acquisitions LLC +Pagaya +Center Creek Homes +AEG Vision +Davids Bridal +Green Residential +Heritage Restoration Company +Brandywine Homes +Caliber Collision Centers +PWA Operations +Inarayan Inc +FullBloom +Turnkey Property Group LLC +Link Logistics LLC +Garcia Properties +Luxottica of America Inc +GP Mobile LLC +Evernest +Frontier Property Management +USPS JLL +Man Global +First Place Management Properties +TOMS King +Streetlane Homes +Alvarado Restaurant Nation +Tiber Capital +Sylvan Road +McCaw Property Management LLC +Resolute Property Management LLC +Kedo LLC +HomeSource Operations +Restaurant Depot +The Wing +Omni +Pintar +Audibel +Briggs Equipment +Cabinets To Go +Vinebrook Homes +Third Coast Bank SSB +Venture REI +Americas Car Mart +Diamonds Direct USA Inc +JFC North America +Sun Oak PROPCO GP LLC +Resi Prestige Worldwide LLC +Apria Healthcare LLC +Sparrow +Dollar Tree +Family Dollar Stores Inc +MS Test Client (Test Client) +Patriot Family Homes LLC +SiteOne Landscape Supply LLC +Empire Today LLC +Belong Home Inc +My Community Homes +Reszi LLC +Spirit Realty +Darwin Homes Inc +99 Cents Only Stores LLC +Kinloch Partners LLC +ILE Homes +MCLT +AvantStay +Burns & CO +FirstKey Homes +American Homes 4 Rent +Hudson Homes Management LLC +"Progress Residential, LLC" +Good Night Stay (Deprecated) +Home Yield +Knox Holding Corporation +McKnight LLC +Stay San Diego +805 Capital LLC +STR Properties +Home River Group +Files +Atlas Home Services +VacayAZ +Equity Residential +"Pathway Construction, LLC" +Market Edge Realty +Tahoe Mountain Properties INC +Sovereign Real Estate Group +Sundae Inc +"CFP Management Group, LLC (Ault Firm)" +"Authentic Residential, LLC" +Cottonwood Lodging Company (Mount Majestic Properties) +Scottsdale Real Estate Group +Landa Properties LLC +"Great Jones, LLC" +Mainstreet Renewal +Opulent Vacations +Heart Property Management +CALCAP Properties +Urbanity Properties +Infinity Financial LLC +Maxfield Real Estate +Real Property Management Preferred +Fintor +Rent Prosper +Vantage Ventures Inc +Wedgewood Inc +Acre Labs Inc +Abodea +Bridge Single - Family Rental Fund Manager LLC +Alden Short INC +GoodNight Stay +NESE Property Management +True Family Enterprises +Menlo Commercial Real Estate +BnB Worx LLC +Flock Homes +"Reddy AZ, LLC dba Zendoor" +Guerin Property Services +"Campagna and Associates, Realtors" +Entera +"Caliber Home Solutions, LLC" +Kim and Nate O'Neil +Bungalow Living Inc (Need to Delete Client Never Onboarded) +Paladin Funding Inc +UDR Inc +St Louis Redevelopment Company LLC +Home365 LLC +Molly Loves Coconuts +Well Made Homes LLC +Edge Capital Inc +Jansen Capital Inc +Bonus Homes +Arkansas Homes and Rentals +True Investment Partners +Consumer Estimates +Waterton Residential LLC +Freaky Fast Home Buyers +"Purpose Residential, LLC DBA Whitestone Real Estate Fund" +RentReady Homes LLC +Shoking Home Buyers LLC +ATL Peach City Homes LLC +Camden Development Inc +BRICK & VINE +Ashok Sethu +Marble Living Inc +Forward Properties LLC +Brandon Sutton +Tanya Myint +Nicole Bowman +Braden Fellman Group Ltd +iRemodel Properties +Tiffany Wynohradnyk +Codi McKee +Redwood Living Inc +PMI JCM Realty Group +RW OPCO LLC (Renters Warehouse) +MS Test ClientC +Bentall Green Oak +Pacific Oak Residential Inc +SmartRent +Pierre Marsat +Miramar – Cedar Trace Circle 1 LLC +Stoa +360 Home Offers LLC +Atria +Landis Technologies +Hippo Home Care +ARK Homes For Rent +PetVet Care Centers +True Home +Michael C Fowler +Fidelity National Home Warranty +LivCor LLC +Lessen +Chubb +Amara Homes LLC +Altisource +AJC Group LLC +Postal Realty Trust +Thriveworks +RentRedi Inc +Homeward +Gilchrist +Lincoln Properties +Homevest +Freddie Mac +Blue River PetCare +SFR3 +PBSW MD INC +The Laramar Group +Westmount Square Capital +Capital Fund I LLC +Homespace USA +Blue Nile +Anywhere Real Estate +johns test client residential +Berkshire Communities LLC +BrightSpire Capital Inc +AHV Communities +KRS Holdings +4D Property Solutions LLC +ResProp Management +St Croix Hospice +iGo +STYL Residential +Cushman & Wakefield +Purchasing Platform +MCR Hotels +BPA Restaurant LLC (Blaze Pizza) +Bighorn Asset Management LLC +Cadence Education +Sun Coast +CRS Temporary Housing +Standard Residential RM Portal +Standard Commercial R&M on Demand +Standard Consumer Portal (Widget) +Capreit Inc +LiveEasy +International Capital LLC +Culdesac Tempe LLC +Mark Taylor Residential +Mattress Warehouse LLC +ABM +Lendflow +Honey Homes +Standard Residential - No Resident Portal +Titan Corp +C & LS Legacy Group LLC +Standard Turns & Reno +Highmark Residential +Insight Association Management GP Inc +Orion +Johns Test Restaurant Client +Insight Association Management GP Inc-BTR +Erica Jade P LLC +Assurant +Home Solutions Us Corp +10X Home Services +"Quintasen Holdings, LLC" +RE-Ops +Oak Rentals Management LLC +Main Street Renewal LLC +Black Ruby Properties RES +"Alacrity Solutions Group, LLC" +SkinSpirit Essential LLC +Black Ruby Properties COM +"LumLiq2,LLC. DBA Lumber Liquidators " +TruGreen +"Fractal Education Group, LLC" +Jadian IOS +CorePower Yoga +Latchel +Moda Homes LLC +Property Meld +GoPuff +ABM-Budderfly +GenStone Management +Trnkey +C7 Works LLC +Aimbridge Hospitality +Lusso Risk Solutions Corp +"Roots Management Group, LLC" +Tricon +SuiteSpot Inc. +Smashburger Servicing LLC +Cove Communities +IGO Widget +Standard Commercial R&M +Familia Dental +STORE Management LLC +Standard Residential Integration Partner +Maymont Homes +RangeWater Residential LLC +Standard Insurance Portal +MyEyeDr. +RareBreed Veterinary Partners +Standard Residential R&M w/T&R +ABM-ASML +HALO Strategies LLC +Clifford R Fick +KWI +Kairos Water Inc +Alert Labs Inc +MidFlorida Credit Union +Worldpac LLC +CapGrow Partners LLC +Trio Residential +ITW Shakeproof +Village Green Management Company LLC +Structure Tone LLC +Legacy Communities +The Niki Group +Carter Haston diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv new file mode 100644 index 000000000..108610ff8 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv @@ -0,0 +1,157 @@ +Air Conditioning/Heating +Coolers/Freezers +Doors/Locks/Gates/Grilles/Glass +Plumbing +Electrical/Lighting +Pest Control +Roof +Fire Systems +Signs +Flooring +General Building +Exterior +Structural +Repairs & Maintenance - Air Conditioning Equipment +Repairs & Maintenance - Appliances +Repairs & Maintenance - Common Area +Repairs & Maintenance - Buildings +Repairs & Maintenance - Electrical +Repairs & Maintenance - Street/Paving +Repairs & Maintenance - Gardens and Grounds +Repairs & Maintenance - General +Repairs & Maintenance - Fire Alarms +Repairs & Maintenance - Fire Extinguishers +Repairs & Maintenance - Plumbing +Repairs & Maintenance - Fitness Equipment +Pool Chemicals & Water Treatments +Repairs & Maintenance - Utilities +General Motor Vehicle Expenses +Repairs & Maintenance - Golf Carts +Repairs & Maintenance - Laundry +Repairs & Maintenance - Elevator +Kitchen Equipment +Refrigeration +Janitorial +Appliances +Cabinets/Countertops +Doors/Windows/Siding +Garage/Garage Door +General Maintenance +Landscape/Irrigation +Masonry/Fencing/Gates +Paint +Pool/Spa +Window Coverings +Move-in/out Package +Internal IH +Doors +Electrical +Gates +Glass +Lighting +Locks +Internal Customer +Violations +Landscaping +Striping +Debris Removal +Snow +IVR Fine +Floor Care +Windows +SIM +Inspection +Survey +Animal Habitat +Cash Wrap +Fish System +Hazardous Material Handling +Security +Store Equipment +Waste Management +Bar Equipment +Paint Booths +Office Services +Fuel Systems +Payments & Tech Services +Programs and Compliance +Food & Beverage Equipment +Car Wash +Parts Request +Window Repair +Bank Equipment +Conference Room Services +Escort +Expense Projects +Environmental Health & Safety +General Inquiry +Moves/Relocations +Janitorial Service +Merchandise Display +Fees +Disaster Response +Accounting Adjustment +Third Party Vendor Visit +EMS +ProCare +Lab Equipment +R-Appliances +R-Asphalt/Concrete +R-Cabinets/Countertops +R-Cleaning +R-Deck/Porch/Balcony +R-Doors/Windows/Trim +R-Electrical +R-Facade +R-Flooring +R-Foundation +R-Garage Door +R-General Maintenance +R-HVAC +R-Landscaping +R-Odor +R-Paint +R-Pest Control +R-Plumbing +R-Pool +R-Roofing +R-Utilities +R-Construction +R-Accounting Adjustment +R-Assessment +Smart Home +Mobile +Billing +Environmental Health & Safety Restoration +DSC Equipment +Mister +Lessen Field Operations +R-Appliances +R-Cleaning Services +R-Disposal & Remediation +R-Electric +R-Exterior Finishes +R-Fees +R-Flooring +R-General Conditions +R-HVAC +R-Interior Finishes +R-Landscape & Pools +R-Laundry +R-Painting & Coatings +R-Plumbing +R-Roofing And Gutter +Lessen Technology Fee +Installations +Early Pay +R-Asphalt/Concrete +R-Foundation +R-Garage Door +R-General Maintenance +R-Landscaping +R-Pest Control +R-Pool +CRE Tech Toolbox +Permit +Turns +Renovations diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv new file mode 100644 index 000000000..0699704c3 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv @@ -0,0 +1,10189 @@ +Variable Refrigerant Flow (VRF) +Provide Quote for Floor Cleaning +Provide Quote for Window Cleaning +Provide Quote for Janitorial Cleaning +Vacant Inspection +Lockout +Access Issue +Routine Service Needed +TR - Trip Charge +TR - Trip Charge +Hand Dryers +Light Switch +Not Working +New Outlet Install +Damaged/Repair +New Add +Replacement +Replacement +Replacement +Winterization Package +Utilities Activation +SR Lock Install +QC Check +HVAC Package +Turn Package +Post Notice +Occupancy Check +Rental Registration Inspection +Customer Requested Survey +Customer Requested Survey +Front Door OD Decal +Exterior Signage Maintenance +Plumbing Materials +Asset Data Capture +Community Inspection +Install/Repair +Home Safety Check +Enhance Strip and Wax Night 5 +Enhance Strip and Wax Night 4 +Install Crown Molding +Stain deck/fence +Remove/Install Wallpaper +Broken/Damaged +Install closet system +Babyproof installation +Fixture Repair/Maintenance +Install New +Install wall fixture +Install TV Wall Mount +Assemble Furniture +Staffing Fee +Not Covered under FPP +Emergency Capital +Emergency Capital +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Found on PM +Full Protection Program +Found on PM/Capital Request +Whole House Drywall Repairs - Medium +Whole House Drywall Repairs - Light +Whole House Drywall Repairs - Heavy +Water Heater Permit +Turn Package (Second Avenue) +Service Roof - Tile +Service Roof - Shingle +Secure Damaged Door/Window +Roof Permit +Repoint Brick Wall/Siding +Repair Ungrounded Outlet +Repair Fiberglass Chip +"Repair Drywall - Up to 6""x6""" +Rent/Procure Scaffolding/Lift +Reno Package (Second Avenue) +Reinstall Door +Reglaze Sliding Glass Door Pane +Recode Keypad Lock +Procure Washer - Top Load (White) +Procure Refrigerator - Top Freezer (Stainless) +Procure Refrigerator - Top Freezer (Black/White) +Procure Refrigerator - Side By Side (Stainless) +Procure Refrigerator - Side By Side (Black/White) +Procure Range Hood - Under Cabinet Convertible (Stainless) +Procure Range Hood - Under Cabinet Convertible (Black/White) +Procure Microwave - Over The Range (Stainless) +Procure Microwave - Over The Range (Black/White) +Procure Freestanding Range - Smooth Top Electric (Stainless) +Procure Freestanding Range - Smooth Top Electric (Black/White) +Procure Freestanding Range - Gas (Stainless) +Procure Freestanding Range - Gas (Black/White) +Procure Freestanding Range - Coil Top Electric (Stainless) +Procure Freestanding Range - Coil Top Electric (Black/White) +Procure Dryer (White) +Procure Dishwasher - Front Control (Stainless) +Procure Dishwasher - Front Control (Black/White) +Procure Cooktop - Gas (Stainless) +Procure Cooktop - Gas (Black/White) +Procure Cooktop - Electric (Stainless) +Procure Cooktop - Electric (Black/White) +Prime Wall (Corner to Corner) +Plumbing - Lite Winterize +Pest Control Treatment - German Roach (3 Trips) +Paint House Interior - Walls Only +Paint Deck +Paint Chimney Cap & Chase Cover +Paint Baseboards +Mobilization Fee +Investigate Water Damaged Wall/Ceiling +Install/Replace Wrought Iron Handrail (prefab) +Install/Replace Wood Subfloor +Install/Replace Tile Flooring +Install/Replace Shower Surround - Tile +Install/Replace Shoe Molding +Install/Replace Self-Closing Hinges (set of 2) +Install/Replace Range/Microwave Filters +Install/Replace Luxury Vinyl Plank (LVP) Flooring - Floating +Install/Replace Lockbox - Shackle +Install/Replace Kitchen Sink Faucet - Pull Out +Install/Replace Kitchen Sink Faucet - Pull Down +Install/Replace Kitchen Sink Faucet - Basic +Install/Replace HVAC Condensate Drain Pan +Install/Replace Gate Hinge +Install/Replace Fill Dirt +Install/Replace Faucet Hand Sprayer +Install/Replace Electrical Conduit +Install/Replace Chase Cover & Chimney Cap +Install/Replace Brick/Block (Individual) +Install/Replace Brick Mold +Install/Replace Bathroom Sink Faucet - Widespread +Install/Replace Bathroom Sink Faucet - Centerset +"Install/Replace Bathroom Sink Faucet - 8""" +Install/Replace - Knob/Deadbolt Combo +Hydro Jet Sewer Line +HVAC Permit +HVAC Drain Pan Debris Removal +HVAC Basic Maintenance Package (Second Avenue) +House Rekey (up to 2 doors) +Home Access Lock Drilling +Gas Leak Detection +Fence Permit +Demo TV Mount +Deep Clean Bathtub/Shower +Completion Package (Homeward) +Clean Whole House - Lite Clean +Clean Tile Flooring +Clean Exterior Windows - 3rd+ Floor +Clean Exterior Windows - 2nd Floor +Clean Exterior Windows - 1st Floor +Appliance Installation & Haul Away - Washer/Dryer +Appliance Installation & Haul Away - Refrigerator +Appliance Installation & Haul Away - Range +Appliance Installation & Haul Away - Hood/Microwave +Appliance Installation & Haul Away - Dishwasher +Appliance Installation & Haul Away - Cooktop +Facility Condition Inspection +Dispatch Vendor Fees +Custom Integrations +User Support +Implementation & Training +Access & License +Purchase +Repair/Replace - Signet +Security Bars +Security Bars +Security Bars +Lighting Materials +Gates/Door Locks +Showcase Locks +Air Purifier +Cabinet Parts +Repair +Install/Remove Lockbox +Buzzers +Leaking +Leaking +Enhance Strip and Wax Night 3 +Enhance Strip and Wax Night 2 +Enhance Strip and Wax Night 1 +Travel Expenses +Floor Mats and Linens +AED - Life Saving Device +Gas Fireplace +Dispatch Vendor Fees +Custom Integrations +User Support +Implementation & Training +Access & License +Ice Melt Services +Infrared Heating Panel +"Sweep, Scrub, & Buff (follow-up)" +Repair +Medical Refrigerator Repair +Treatment Bed Parts +Tennant T300 Scrubber CAPEX +Tennant Scrubbers/Sweepers +Tenant Allowance +"Sweep, Scrub, & Buff w/ Janitorial Cleaning" +Strip & Wax w/ Janitorial Cleaning +Scrub & Recoat w/ Janitorial Cleaning +Refresh Service +LVT Scrub Remodel w/ Janitorial Cleaning +LVT Floor Scrub w/ Janitorial Cleaning +Concrete Floor Scrub w/ Janitorial Cleaning +Padlock Won't Lock/Unlock +Move Unit +Graffiti +General Damage/Vandalism +Door Won't Open/Close +New Installation +Roof +Gutters +Structural/Leak Repairs +Screens +Heaters +Equipment +Septic +Resurface/Refinish +Major Plumbing +Minor Plumbing +Wildlife/Trapping +Termites +Small Insects +Rodents +Bees +Exterior +Interior +Foundation +Fencing/Gates +Brick/Concrete +Irrigation +Landscaping +Inspections +Managed Services +Handyman Services +Garage Door +Foundation +Tile +Carpet +Vinyl and Laminate +Fireplace/Chimney +Fencing/Gates +Major Electrical +Minor Electrical +Trash Out +Cleaning/Maid Service +Washer/Dryer +Vent Hood +Refrigerator +Range/Oven +Microhood +Dishwasher +Cooktop +Air Conditioning/Heating +Roof +Gutters +Structural/Leak Repairs +Screens +Heaters +Equipment +Septic +Resurface/Refinish +Major Plumbing +Minor Plumbing +Wildlife/Trapping +Termites +Small Insects +Rodents +Bees +Exterior +Interior +Foundation +Fencing/Gates +Brick/Concrete +Irrigation +Landscaping +Inspections +Managed Services +Handyman Services +Garage Door +Foundation +Tile +Carpet +Vinyl and Laminate +Fireplace/Chimney +Fencing/Gates +Major Electrical +Minor Electrical +Trash Out +Cleaning/Maid Service +Washer/Dryer +Vent Hood +Refrigerator +Range/Oven +Microhood +Dishwasher +Cooktop +Air Conditioning/Heating +Pest Exclusion +Day Porter +Monitoring Services +Subscription +HVAC Install +Broken/Pets Hotel +Expeditor +Other +HVAC +Other +New Badge +Lanyard +Additional Access or Extended Hours +Deactivate +Not Working +Lost Badge +Treatment Bed Repair +Smash & Grab +Smash & Grab +Smash & Grab +HVAC +Routine Service Needed +Found on PM +Survey +Scrub and Seal +Active Leak Repairs - Troubleshoot + Full Day +Active Leak Repairs - Troubleshoot + 1/2 Day +Non - Leak Repairs - Full Day +Non - Leak Repairs - 1/2 Day +Tune up - Steep Pitch +Tune up - Low Pitch +Rats +Mice +Day Porter +Purchase +Secure Door Knob +Secure Countertop +Repair Sink Hot/Cold Reversed +Repair Bathtub/Shower Hot/Cold Reversed +Pressure Wash Flatwork - Half-Day +Pressure Wash Flatwork - Full-Day +Permit +Paint/Stain Wood Fence +"Paint House Interior - Walls, Doors & Trim (No Ceiling)" +Paint Front/Exterior Door - Both Sides +Install/Replace Widespread Bathroom Sink Faucet +Install/Replace Water Heater Expansion Tank +Install/Replace GFCI Outlet +Install/Replace Fire Extinguisher +Install/Replace Door Hinge (Set of 3) +Install/Replace Circuit Breaker Blank Filler Plates +Install/Replace Carbon Monoxide Detector - Plug-In +Install/Replace Cabinet Hinge +Install/Replace Brick Mould +Install/Replace Bifold Door Knob +Initial Lawn Service +Clean Chimney +Bulk Trash +Human/Bio Clean Up +5yr Sprinkler +Fire Watch +Fire Sprinkler +Fire Extinguisher +Fire Alarm +Emergency Light +Backflow +Consultation Desk +Drawer Front +Locks Loose/Missing +Laminate +Winterize Irrigation System Only +Window Trim - Caulk (per window) +Weed Removal +Waterproof Foundation Walls +Trim Shrub +Tree Removal +Tree - Prune +Treat Odor - Ozone +Treat Odor - Carpet +Trash Out - Minor +Trash Out - 40 Cubic Yards +Trash Out - 30 Cubic Yards +Trash Out - 20 Cubic Yards +Trash Out - 10 Cubic Yards +Touch Up Drywall Individual Room +Tile Flooring Grout - Regrout +Tile Flooring - Clean +Texture Drywall to Match +Test for Mold +Test for Lead +Survey - Fence +Stump - Demo +Stretch Carpet +Stain Stair Handrail +Stain Flooring Transition Strip +Stain Deck Steps +Stain Deck +Snake Main Sewer Line +Snake Fixture Drain - Tub/Shower +Snake Fixture Drain - Toilet +Snake Fixture Drain - Sink +Sliding Glass Door - Reglaze +Shoe Molding - Install/Replace +Service/Lubricate Window +Service/Lubricate Sliding Glass Door +Service Water Heater +Service Roof +Service Pool - Basic +Service Pool - Advanced (Green Pool) +Service Irrigation System +Service Initial Service Landscape - Medium +Service Initial Service Landscape - Light +Service Initial Service Landscape - Heavy +Service HVAC - Standard +Service HVAC - Diagnose & Repair +Service Garage Door +"Seed Grass (per 1,000 sqft)" +Secure Water Heater Flue Piping +Secure Trim +Secure Towel Ring +Secure Towel Bar +Secure Toilet Tank +Secure Toilet Paper Holder +Secure Toilet Base +Secure Switch +Secure Stair Handrail +Secure Shelf +Secure Refrigerator Handle +Secure Range Handle +Secure Perimeter Block Wall Cap +Secure Outlet +Secure Newel Post +Secure Mailbox +Secure Insulation +Secure Hose Bibb +Secure Gutter +Secure Garage Door Trim +Secure Flooring Transition Strip +Secure Fascia Board +Secure Door Weatherstripping +Secure Dishwasher +Secure Deck Handrail +Secure Countertop End Cap +Secure Cabinet Hardware +Seal Deck +Rewire Electrical System +Resurface Pool Deck +Rescreen Window Screen +Rescreen Screen Door +Rescreen Patio Screen +Replace Window - Single Pane +Replace Window - Hurricane-Rated +Replace Window - Dual Pane +Replace Single Tile +Repair Stucco +Repair Stair Baluster +Repair Soffit +Repair Siding Hole +Repair Shed Door +Repair Roof Truss +Repair Roof +Repair Porcelain/Ceramic Chip +Repair Popcorn Ceiling Texture +Repair Perimeter Block Wall Step Cracking +Repair Perimeter Block Column +Repair Outlet Hot/Neutral Reversed +Repair Main Electrical Panel Conduit Separation +Repair Irrigation Pipe Leak +Repair HVAC Ductwork +Repair Foundation +Repair Firebox Cracking +Repair Drywall - Crack(s) LF +"Repair Drywall - 6""x6""" +"Repair Drywall - 6""-2'x2'" +Repair Drywall - 4'x4'-4'x8' (full sheet) +Repair Drywall - 2'x2'-4'x4' +Repair Door Jamb +Repair Door - Holes +Repair Door - Delamination +Repair Countertop Chip +Repair Concrete Crack +Repair Chimney Damper +Repair Attic Ladder Pull String +Rent/Procure Generator +Rent/Procure Dumpster - 40 CuYd +Rent/Procure Dumpster - 20 CuYd +Rent/Procure Dumpster - 10 CuYd +Rent/Procure Dehumidifier +Rent/Procure Crane +Remove/Store Window Screens +Remove/Reinstall Pedestal Sink for Flooring Install +Remove Window Tint +Remove Sliding Screen Door +Remove & Reinstall Water Heater +Remove & Reinstall Toilet +Remediate Mold +Remediate Lead Paint +Regrout Wall Tile/Backsplash +Reglaze Window +Refinish Shower +Refinish Pool Surface +Refinish Hardwood Flooring - Sand & Seal +Refinish Hardwood Flooring - Buff & Seal +Refinish Bathtub with Surround +Refinish Bathtub +Prime House Interior +Prime House Exterior +Pressure Wash Tile Roof +Pressure Wash Shingle Roof +Pressure Wash Flatwork +Pressure Wash Fence +Pressure Wash Exterior +Premium - Windows +Premium - Window Wells +"Premium - Water, Gas, Electrical Service" +Premium - Walls / Ceiling +Premium - Vanity Cabinets +Premium - Storage Sheds +Premium - Stairs & Handrails +Premium - Soffits & Fascia +Premium - Shutters +Premium - Shelving & Rods +Premium - Security Systems +Premium - Security / Storm Doors +Premium - Satellite Dishes +Premium - Roof +Premium - Pool Barriers & Safety +Premium - Pool +Premium - Plumbing - Water Treatment Systems +Premium - Plumbing - Water Lines & Valves +Premium - Plumbing - Water Heater +Premium - Plumbing - Toilets +Premium - Plumbing - Sinks +Premium - Plumbing - Showers / Tubs +Premium - Plumbing - Gas Lines & Valves +Premium - Plumbing - Garbage Disposal +"Premium - Plumbing - Drain, Wastes and Vents" +Premium - Pests +Premium - Odors +Premium - Mirrors +Premium - Medicine Cabinets +Premium - Mailboxes +Premium - Landscaping +Premium - Irrigation Systems +Premium - Interior Lights & Fans +Premium - Interior Doors +Premium - Insulation +Premium - HVAC +Premium - Gutters +Premium - Ground / Vapor Barrier +Premium - Grading & Drainage +Premium - General Interior +Premium - General Exterior +Premium - Garage Door +Premium - Foundation / Basement Walls +Premium - Flooring +Premium - Fireplace / Chimney +Premium - Fire Safety / Detectors +Premium - Fire Rated Door +Premium - Fencing / Walls & Gates +Premium - Exterior Vents +Premium - Exterior Siding / Stucco +Premium - Exterior Lights & Fans +Premium - Exterior Features +Premium - Exterior Doors +Premium - Exhaust Fans +Premium - Electrical - Switches / Outlets / Coverplates +Premium - Electrical - Service / Panel +Premium - Electrical - General +Premium - Doorbells +Premium - Door Hardware +Premium - Decks +Premium - Crawlspace Doors +Premium - Countertops +Premium - Concrete / Paving / Hardscape +Premium - Cabinets +Premium - Blinds / Window Coverings +Premium - Bathroom Hardware +Premium - Baseboards & Interior Trim +Premium - Attic Access +Premium - Appliance - Washer +Premium - Appliance - Vent Hood +Premium - Appliance - Refrigerator +Premium - Appliance - Oven / Range +Premium - Appliance - Other +Premium - Appliance - Microwave +Premium - Appliance - General +Premium - Appliance - Dryer +Premium - Appliance - Dishwasher +Premium - Appliance - Cooktop +Premium - Address Numbers +Plumbing - Winterize +Plumbing - Dewinterize +Pest Control Treatment - Tenting +Pest Control Treatment - Subterranean Termite +Pest Control Treatment - Standard +Pest Control Treatment - Rodent +Pest Control Treatment - German Roach +Pest Control Treatment - Bird +Pest Control - Termite Inspection +Paint Stem Wall/Foundation +Paint Stair Tread +Paint Stair Handrail +Paint Soffit +Paint Shutters +Paint Shoe Molding +Paint Shelf +Paint Room +Paint Prep House Exterior +Paint Porch/Patio Floor +Paint Porch/Patio Cover +Paint Pool Deck +Paint Medicine Cabinet +Paint Interior Door +Paint HVAC Return Grille +Paint HVAC Register +Paint House Interior Wall (Corner to Corner) +Paint House Interior High Ceiling - Premium +Paint House Interior - Full Interior +Paint House Interior - Doors & Trim Only +Paint House Exterior Wall (Corner to Corner) +Paint House Exterior Trim Only +Paint House Exterior - Full Exterior +Paint Garage Interior +Paint Garage Floor +Paint Garage Door - Two Car +Paint Garage Door - One Car +Paint Front/Exterior Door - Interior Only +Paint Front/Exterior Door - Exterior Only +Paint Fireplace Firebox +Paint Fascia Board +Paint Exterior Door - Exterior Side Only +Paint Exterior Door - Both Sides +Paint Deck Steps +Paint Ceiling +Paint Cabinet - Interior & Exterior +Paint Cabinet - Exterior Only +Level Concrete Subfloor +Label Electrical Panel Cover Blanks +Label Electrical Panel Circuits +Install/Replace Wrought Iron Gate +Install/Replace Wrought Iron Fence +Install/Replace Wood/Cement Board Siding +Install/Replace Wood Picket Fence +Install/Replace Wood Panel Siding +Install/Replace Wood Gate +Install/Replace Wood Fence Pickets +Install/Replace Wood 4x4 Fence Post +Install/Replace Window Well Surround +Install/Replace Window Well Cover +Install/Replace Window Trim +Install/Replace Window Screen +Install/Replace Window Sash +Install/Replace Window Lock +Install/Replace Window Crank Handle +Install/Replace Window Balance +Install/Replace Weatherproof Cover +Install/Replace Water/Ice Maker Outlet Box +Install/Replace Water Shut-Off Valve +Install/Replace Water Pressure Reducing Valve +Install/Replace Water Heater Supply Line +Install/Replace Water Heater Stand +Install/Replace Water Heater Shut-Off Valve +Install/Replace Water Heater Safety Straps +Install/Replace Water Heater Pressure Relief Valve +Install/Replace Water Heater Pressure Relief Drain Line +Install/Replace Water Heater Nipple (set) +Install/Replace Water Heater Flue Piping +Install/Replace Water Heater Expansion Tank Straps +Install/Replace Water Heater Drip Pan +Install/Replace Water Heater - 50 Gal Gas +Install/Replace Water Heater - 50 Gal Electric +Install/Replace Water Heater - 40 Gal Gas +Install/Replace Water Heater - 40 Gal Electric +Install/Replace Washing Machine Pan +Install/Replace Wall Tile +Install/Replace Wall Plate +Install/Replace Wall Cabinet(s) +Install/Replace Vinyl/Aluminum Siding +Install/Replace Vinyl Gate +Install/Replace Vinyl Fence Post Sleeve +Install/Replace Vinyl Fence +Install/Replace Vertical Blinds +Install/Replace Vent Hood Screen +Install/Replace Vent Hood (Stainless) +Install/Replace Vent Hood (Black/White) +Install/Replace Vent Cover +Install/Replace Vanity Light Fixture +Install/Replace Vanity Countertop Only - Single +Install/Replace Vanity Cabinet/Counter Combo - Single +Install/Replace Undermount Bathroom Sink +Install/Replace Towel Ring +Install/Replace Towel Hook +Install/Replace Towel Bar +Install/Replace Toilet Wax Ring +Install/Replace Toilet Supply Line +Install/Replace Toilet Seat (Round) +Install/Replace Toilet Seat (Elongated) +Install/Replace Toilet Paper Holder +Install/Replace Toilet Flush Kit +Install/Replace Toilet Flush Handle +Install/Replace Toilet Flapper +Install/Replace Toilet Flange +Install/Replace Toilet Bolt Caps +Install/Replace Toilet (Round) +Install/Replace Toilet (Elongated) +Install/Replace Tile Roof +Install/Replace Thermostat +Install/Replace Switch +Install/Replace Sump Pump Discharge Pipe +Install/Replace Sump Pump +Install/Replace Storm Door +Install/Replace Stair Tread +Install/Replace Stair Stringer +Install/Replace Stair Handrail Mounting Hardware +Install/Replace Stair Handrail +Install/Replace Stair Baluster +Install/Replace Sprinkler Head +Install/Replace Soffit Panel +Install/Replace Sod +Install/Replace Smoke/CO Detector Battery +Install/Replace Smoke/Carbon Monoxide Combo Detector - Standard Battery +Install/Replace Smoke/Carbon Monoxide Combo Detector - Lithium Battery +Install/Replace Smoke/Carbon Monoxide Combo Detector - Hardwired +Install/Replace Smoke Detector - Standard Battery +Install/Replace Smoke Detector - Lithium Battery +Install/Replace Smoke Detector - Hardwired +Install/Replace Sliding Screen Door +Install/Replace Sliding Glass Door Security Pin +Install/Replace Sliding Glass Door Security Bar +Install/Replace Sliding Glass Door Roller(s) +Install/Replace Sliding Glass Door Handle +Install/Replace Sliding Glass Door - Standard +Install/Replace Sliding Glass Door - Oversized +Install/Replace Sink/Counter Hole Cover +Install/Replace Sink Supply Line +Install/Replace Sink Drain P Trap +Install/Replace Sink Drain Assembly +Install/Replace Single Wall Oven (All Finishes) +Install/Replace Shutters (pair) +Install/Replace Shower Valve Cartridge +Install/Replace Shower Valve +Install/Replace Shower Trim Kit +Install/Replace Shower Surround - Prefab +Install/Replace Shower Rod +Install/Replace Shower Head +Install/Replace Shower Enclosure +Install/Replace Shower Door(s) +Install/Replace Shower Arm +Install/Replace Shingle Roof +Install/Replace Shelving - Wood +Install/Replace Shelving - Wire +Install/Replace Shelf Support Bracket +Install/Replace Sheet Vinyl Flooring +Install/Replace Septic Tank Cover +Install/Replace Security Door +Install/Replace Screen/Storm Door Closer +Install/Replace Screen Door +Install/Replace Roof Jack +Install/Replace Roof Decking +Install/Replace Refrigerator Water Filter +Install/Replace Refrigerator Ice Maker +Install/Replace Refrigerator Handle +Install/Replace Refrigerator - Top Freezer (Stainless) +Install/Replace Refrigerator - Top Freezer (Black/White) +Install/Replace Refrigerator - Side-By-Side (Stainless) +Install/Replace Refrigerator - Side-By-Side (Black/White) +Install/Replace Recessed Light Fixture +Install/Replace Range Knob +Install/Replace Range Handle +Install/Replace Range - Gas (Stainless) +Install/Replace Range - Gas (Black/White) +Install/Replace Range - Electric (Stainless) +Install/Replace Range - Electric (Black/White) +Install/Replace Quartz Countertop +Install/Replace Pull Chain Socket Light Fixture +Install/Replace Privacy Door Knob +Install/Replace Pool Vacuum Breaker +Install/Replace Pool Timer +Install/Replace Pool Pump +Install/Replace Pool Heater +Install/Replace Pool Filter Unit +Install/Replace Pool Filter Sand +Install/Replace Pool Filter Cartridge +Install/Replace Pool Fence +Install/Replace Pool 3-Way Valve +Install/Replace Pocket Door - Track and Roller +Install/Replace Pocket Door - Slab Only +Install/Replace Pocket Door - Slab & Hardware +Install/Replace Pocket Door - Pull +Install/Replace Plant +Install/Replace Perimeter Block Wall Cap +Install/Replace Perimeter Block Wall +Install/Replace Pendant Light Fixture +Install/Replace Pedestal Bathroom Sink +Install/Replace Passage Door Knob +Install/Replace Oven Rack +Install/Replace Oven Knobs +Install/Replace Oven Heating Element +Install/Replace Oven Handle +Install/Replace Outlet - New Run From Existing Circuit +Install/Replace Outlet +Install/Replace Newel Post +Install/Replace New Dedicated Electrical Circuit +Install/Replace Mulch +Install/Replace Mirror Trim +Install/Replace Mirror +Install/Replace Microwave Combo Wall Oven (All Finishes) +Install/Replace Microwave - Over the Range (Stainless) +Install/Replace Microwave - Over the Range (Black/White) +Install/Replace Microwave - Low Profile (All Finishes) +Install/Replace Metal Roof +Install/Replace Medicine Cabinet +Install/Replace Main Water Shut-Off Valve +Install/Replace Main Sewer Line +Install/Replace Mailbox Post +Install/Replace Mailbox Flag +Install/Replace Mailbox - Wall Mounted +Install/Replace Mailbox - Mailbox Only +Install/Replace Mailbox - Mailbox & Post +Install/Replace Luxury Vinyl Plank (LVP) Flooring - Glue Down +Install/Replace Luxury Vinyl Plank (LVP) Flooring - Click Lock +Install/Replace Luxury Vinyl Flooring - Stair Labor (per stair) +Install/Replace Luan Board Subfloor +Install/Replace Lockbox - Wall Mount +Install/Replace Light Bulb +Install/Replace Laundry Washer Valves (per valve) +Install/Replace Laundry Washer Valve Caps +Install/Replace Laundry Washer Box +Install/Replace Laundry Sink Faucet +Install/Replace Laminate Countertop Sidesplash +Install/Replace Laminate Countertop End Cap +Install/Replace Laminate Countertop +Install/Replace Kitchen Sink Strainer +Install/Replace Kitchen Sink Faucet +Install/Replace Kitchen Sink - Undermount +Install/Replace Kitchen Sink - Drop-In +Install/Replace Kitchen Faucet Stem/Cartridge +Install/Replace Kitchen Faucet Handle +Install/Replace Keypad Deadbolt +Install/Replace Junction Box Cover +Install/Replace Junction Box +Install/Replace Jelly Jar Light Fixture +Install/Replace Irrigation Valve Box +Install/Replace Irrigation Valve +Install/Replace Irrigation Vacuum Breaker +Install/Replace Irrigation Timer +Install/Replace Irrigation System Watering Zones (per zone) +"Install/Replace Irrigation System Base (Timer, Valves, etc.)" +Install/Replace Interior Slab Door +Install/Replace Interior Prehung Door +Install/Replace Interior Double Doors - Prehung +Install/Replace Insulation - Blown-In +Install/Replace Insulation - Batt +Install/Replace Indoor Sconce Light Fixture +Install/Replace HVAC Rooftop Stand +Install/Replace HVAC Return Grille +Install/Replace HVAC Register - Wall/Ceiling +Install/Replace HVAC Register - Floor +Install/Replace HVAC Lineset Insulation - Full Lineset +Install/Replace HVAC Lineset Insulation - Exterior Portion Only +Install/Replace HVAC Lineset +Install/Replace HVAC Gas Supply Line - Hardpipe +Install/Replace HVAC Gas Supply Line - Flex +Install/Replace HVAC Float Switch +Install/Replace HVAC Electrical Disconnect +Install/Replace HVAC Ductwork +Install/Replace HVAC Condensing Unit +Install/Replace HVAC Cage +Install/Replace HVAC Air Handler +Install/Replace HVAC Air Filter +Install/Replace Hose Bibb Handle +Install/Replace Hose Bibb Anti-Siphon Vacuum Breaker +Install/Replace Hose Bibb - Standard +Install/Replace Hose Bibb - Frost Proof +Install/Replace Hinge Mortising +Install/Replace Heat Pump Split HVAC System (5 Tons) +Install/Replace Heat Pump Split HVAC System (4 Tons) +Install/Replace Heat Pump Split HVAC System (3.5 Tons) +Install/Replace Heat Pump Split HVAC System (3 Tons) +Install/Replace Heat Pump Split HVAC System (2.5 Tons) +Install/Replace Heat Pump Split HVAC System (2 Tons) +Install/Replace Heat Pump Split HVAC System (1.5 Tons) +Install/Replace Heat Pump Package HVAC System (5 Tons) +Install/Replace Heat Pump Package HVAC System (4 Tons) +Install/Replace Heat Pump Package HVAC System (3.5 Tons) +Install/Replace Heat Pump Package HVAC System (3 Tons) +Install/Replace Heat Pump Package HVAC System (2.5 Tons) +Install/Replace Heat Pump Package HVAC System (2 Tons) +Install/Replace Hardwood (Engineered) Flooring +Install/Replace Gutter Splash Block +Install/Replace Gutter Elbow +Install/Replace Gutter Downspout Extension +Install/Replace Gutter Downspout +Install/Replace Gutter +Install/Replace Gravel +Install/Replace Granite Countertop +Install/Replace Gate Self-Closing Device +Install/Replace Gate Latch +Install/Replace Gas Split HVAC System (5 Tons) +Install/Replace Gas Split HVAC System (4 Tons) +Install/Replace Gas Split HVAC System (3.5 Tons) +Install/Replace Gas Split HVAC System (3 Tons) +Install/Replace Gas Split HVAC System (2.5 Tons) +Install/Replace Gas Split HVAC System (2 Tons) +Install/Replace Gas Split HVAC System (1.5 Tons) +Install/Replace Gas Range Burner +Install/Replace Gas Package HVAC System (5 Tons) +Install/Replace Gas Package HVAC System (4 Tons) +Install/Replace Gas Package HVAC System (3.5 Tons) +Install/Replace Gas Package HVAC System (3 Tons) +Install/Replace Gas Package HVAC System (2.5 Tons) +Install/Replace Gas Package HVAC System (2 Tons) +Install/Replace Gas Key +Install/Replace Gas Cooktop Burner +Install/Replace Gas Cooktop (All Finishes) +Install/Replace Garbage Disposal Gasket +Install/Replace Garbage Disposal +Install/Replace Garage Door Wall Control Button +Install/Replace Garage Door Trim (Top & Side) +Install/Replace Garage Door Torsion Spring +Install/Replace Garage Door Safety Sensors +Install/Replace Garage Door Safety Cable +Install/Replace Garage Door Roller Bracket +Install/Replace Garage Door Roller +Install/Replace Garage Door Remote +Install/Replace Garage Door Opener Mounting Bracket +Install/Replace Garage Door Opener +Install/Replace Garage Door Handle Lock +Install/Replace Garage Door Emergency Release Cord +Install/Replace Garage Door Bottom Seal +Install/Replace Garage Door - 2 Car +Install/Replace Garage Door - 1 Car +Install/Replace Gable Vent Fan +Install/Replace Furnace (80k BTUs) +Install/Replace Furnace (60k BTUs) +Install/Replace Furnace (40k BTUs) +Install/Replace Furnace (100k BTUs) +Install/Replace Front Door Slab +Install/Replace Front Door Handle +Install/Replace Front Door - Prehung +Install/Replace French Drain +Install/Replace Foundation Vent Cover +Install/Replace Flush Mount Light Fixture - Interior +Install/Replace Flush Mount Light Fixture - Exterior +Install/Replace Fluorescent Light Fixture +Install/Replace Fluorescent Light Bulb +Install/Replace Flooring Transition Strip +Install/Replace Floor Drain Grate +Install/Replace Flood Light Fixture +Install/Replace Flat Roof - Rolled Asphalt +Install/Replace Flat Fluorescent Lens Cover +Install/Replace Fireplace Screen +Install/Replace Fireplace Log Grate +Install/Replace Fireplace Gas Logs +Install/Replace Fireplace Damper Clamp +Install/Replace Fire Rated Door - Prehung +Install/Replace Faucet Aerator +Install/Replace Fascia Board +Install/Replace Exterior/Service Door - Slab +Install/Replace Exterior/Service Door - Prehung +Install/Replace Exterior Wrought Iron Handrail +Install/Replace Exterior Trim +Install/Replace Exterior French Doors - Prehung +Install/Replace Electrical Panel Cover Screws +Install/Replace Electrical Panel Bushing +Install/Replace Electrical Panel +Install/Replace Electric Cooktop (All Finishes) +Install/Replace Dummy Knob +Install/Replace Drywall (per sheet) +Install/Replace Dryer Vent Exterior Cover +Install/Replace Dryer Vent Entire Assembly +Install/Replace Drop-In Bathroom Sink +Install/Replace Double Wall Oven (All Finishes) +Install/Replace Double Vanity Countertop +Install/Replace Double Vanity Combo +Install/Replace Doorbell Chime +Install/Replace Doorbell Button +Install/Replace Doorbell Battery +Install/Replace Doorbell - Wireless System +Install/Replace Doorbell - Wired System +Install/Replace Door/Window Alarm +Install/Replace Door Weatherstripping +Install/Replace Door Trim/Casing +Install/Replace Door Threshold +Install/Replace Door T-Astragal Molding +Install/Replace Door Sweep +Install/Replace Door Strike Plate +Install/Replace Door Stop - Wall Mount +Install/Replace Door Stop - Hinge Mount +Install/Replace Door Peep Hole +Install/Replace Door Lock Bore and Mortise +Install/Replace Door Kick Plate +Install/Replace Door Hole Plate Cover +Install/Replace Door Hinge (per hinge) +Install/Replace Door High Handle & Self-Closing Device for Standard Door +Install/Replace Door Ball Catch +Install/Replace Dishwasher Supply Line +Install/Replace Dishwasher High Loop +Install/Replace Dishwasher Air Gap +Install/Replace Dishwasher (Stainless) +Install/Replace Dishwasher (Black/White) +Install/Replace Deck Step Tread +Install/Replace Deck Railing Post +Install/Replace Deck Post +Install/Replace Deck Planks +Install/Replace Deck Handrail +Install/Replace Deck Flashing +Install/Replace Deck +Install/Replace Dead Front Cover +Install/Replace Crown Molding +Install/Replace Crawl Space Vapor Barrier +Install/Replace Crawl Space Door +Install/Replace Cooktop Knob +Install/Replace Cooktop Flat top Heating Element +Install/Replace Cooktop Electric Coil Element +Install/Replace Cooktop Drip Pans +Install/Replace Concrete +Install/Replace Coach/Lantern Light Fixture +Install/Replace Closet Rod Pole Sockets +Install/Replace Closet Rod - Rod Only +Install/Replace Cleanout Cover +Install/Replace Circuit Breaker - Standard Single Pole +Install/Replace Circuit Breaker - Standard Double Pole +Install/Replace Circuit Breaker - AFCI +Install/Replace Chimney Cap +Install/Replace Channel Drain +Install/Replace Chandelier Light Fixture +Install/Replace Chain Link Gate +Install/Replace Chain Link Fence Post +Install/Replace Chain Link Fence +Install/Replace Cement Board Subfloor +Install/Replace Ceiling Fan Pull Chain Extension +Install/Replace Ceiling Fan Downrod +Install/Replace Ceiling Fan +Install/Replace Carpet (SqYd) +Install/Replace Carbon Monoxide Detector +Install/Replace Cabinet Trim Molding +Install/Replace Cabinet Toe Kick +Install/Replace Cabinet Pull(s) +Install/Replace Cabinet Knob(s) +Install/Replace Cabinet Floor +Install/Replace Cabinet End Panel +Install/Replace Cabinet Drawer Rollers +Install/Replace Cabinet Drawer +Install/Replace Cabinet Door +Install/Replace Bypass Finger Pull/Cup +Install/Replace Bypass Door Rollers +Install/Replace Bypass Door Guide +Install/Replace Bypass Door +Install/Replace Bulb - Vent Hood +Install/Replace Bulb - Refrigerator +Install/Replace Bulb - Oven/Range +Install/Replace Bulb - Microwave +Install/Replace Bifold Door Hardware +Install/Replace Bifold Door +Install/Replace Bathtub/Shower Trim Kit +Install/Replace Bathtub Surround - Tile +Install/Replace Bathtub Surround - Prefab +Install/Replace Bathtub Stopper +Install/Replace Bathtub Spout +Install/Replace Bathtub Overflow Plate +Install/Replace Bathtub Drain Stop & Overflow +Install/Replace Bathtub +Install/Replace Bathroom Sink Faucet +Install/Replace Bathroom Sink Drain Stop Pop Up Only +Install/Replace Bathroom Sink Drain Stop Assembly +Install/Replace Bathroom Faucet Handle +Install/Replace Bath/Laundry Exhaust Fan Ducting +Install/Replace Bath/Laundry Exhaust Fan Cover +Install/Replace Bath/Laundry Exhaust Fan +Install/Replace Baseboard +Install/Replace Base Cabinet(s) +Install/Replace Backsplash +Install/Replace Attic Scuttle Cover +Install/Replace Attic Ladder +Install/Replace Attic Access Trim +Install/Replace Anti-Tip Bracket +Install/Replace Angle Stop +Install/Replace Air Freshener +Install/Replace Address Numbers - Nail On (per number) +Install/Replace Address Numbers - Adhesive +Install/Replace 3 Piece Bathroom Hardware Set +"Install/Replace 2"" Blinds - 72""" +"Install/Replace 2"" Blinds - 60""" +"Install/Replace 2"" Blinds - 48""" +"Install/Replace 2"" Blinds - 36""" +"Install/Replace 2"" Blinds - 24""" +"Install/Replace 1"" Mini Blinds" +Install/Replace - Deadbolt +Install/Replace - Knob/Deadbolt Combo +Install Water Well/Pump +Install Top Soil +Inspect/Service Fireplace +Inspect Well System +Inspect Septic Tank +Inspect Jetted Bathtub +Inspect Foundation +Initial Lawn Mowing +Hardwood Flooring Refinishing - Stair Labor +Hardwood Flooring - Stair Labor +Grind Trip Hazard +Grind & Paint Wrought Iron Fence +Full Home Plumbing Repipe +Frost Window +Fire Extinguisher +Fill HVAC Lineset Wall Penetration +Fill Dirt - Install/Replace +Fiberglass Chip - Repair +Dryer Vent Exterior Penetration - Standard +Dryer Vent Exterior Penetration - Concrete +Dispose Hazardous Materials +Detect Slab Leak +Demo/Seal Fireplace +Demo Window Blinds +Demo Window Bars +Demo Water Softener +Demo Water Filter/RO +Demo Wallpaper +Demo Vertical Blinds +Demo Utility/Laundry Sink +Demo Tile Flooring +Demo Structure +Demo Storm Door +Demo Sticker/Decal +Demo Shower Door +Demo Shelf +Demo Sheet Vinyl Flooring +Demo Security System +Demo Security Door +Demo Screen Door +Demo Satellite Dish (Remove Bracket & Patch) +Demo Satellite Dish (Leave Bracket) +Demo Popcorn Ceiling Texture +Demo Pool Heater +Demo Pocket Door / Create Pass-Through +Demo Mantle +Demo Luxury Vinyl Plank Flooring +Demo Low Voltage Wiring +Demo Light Fixture +Demo Laminate Flooring +Demo Ivy +Demo Irrigation System +Demo Hardwood Flooring +Demo Garbage Disposal +Demo Fence +Demo Exterior Penetration Pet Door +Demo Evaporative (Swamp) Cooler +Demo Door Chain/Latch +Demo Deck Stairs +Demo Deck Railing +Demo Deck +Demo Curtain Rod +Demo Concrete +Demo Ceiling Fan +Demo Carpet +Demo Cabinet +Demo Backsplash +Demo Appliance - Washing Machine +Demo Appliance - Washer/Dryer +Demo Appliance - Vent Hood +Demo Appliance - Refrigerator +Demo Appliance - Range +Demo Appliance - Oven +Demo Appliance - Microwave +Demo Appliance - Dryer +Demo Appliance - Dishwasher +Demo Appliance - Cooktop +Demo Appliance - All +Deep Clean Vent Hood +Deep Clean Refrigerator +Deep Clean Oven/Range +Deep Clean Microwave +Deep Clean Dishwasher +Deep Clean Cooktop +Cutout Countertop for Sink +Completion Package +Clean Whole House - Wipedown Clean +Clean Whole House - Deep Clean +Clean HVAC Ductwork +Clean Gutters +Clean Fireplace +Clean Dryer Vent +Clean Carpet +Clean Cabinet +Caulk Single Fixture +Caulk Kitchen Fixtures & Counters (per room) +Caulk Countertop +Caulk Bathroom Fixtures & Counters (per room) +Carpet - Stair Labor +Cap Gas Line +Camera Main Sewer Line +Asbestos - Remediate +Asbestos - Inspection +Adjust/Repair Pocket Door +Adjust Water Pressure Reducing Valve +Adjust Shower Door +Adjust Self-Closing Hinges +Adjust Gate +Adjust Garage Door Safety Sensors +Adjust Garage Door Auto Reverse +Adjust Door/Hardware +Adjust Cabinet Drawer +Adjust Cabinet Door +Adjust Bifold Door +Adjust Bathroom Sink Drain Stop +Acid Wash Pool Surface +Acid Wash Bathtub/Shower +Revenue Share +Major Remodel +Mold (Disaster Relief) +Damaged/Replacement +Asset Data Collection +Asset Data Collection +Asset Data Collection +LVT Project +Polished Concrete Project +Discount Rate +Lock Installation +Lock Installation +Repair +Repair +Repair +Repair +Repair +Repair +Adjustment +Tier 6 +Tier 5 +Tier 4 +Tier 3 +Tier 2 +Tier 1 +Revenue Share +Repair +Boiler +Chiller +Wall Panels +Demos +Repair Damaged +Repair +Fan issue +Electrical/lighting +Broken Fixture +Fan issue +Electrical/lighting +Broken Fixture +Fan issue +Electrical/lighting +Broken Fixture +Electrical/Lighting +Crank Maintenance +Minor Construction +Keypad Lock +Scheduled Cleaning +Deep Cleaning  +Adjustment +Tennant T300 Scrubber CAPEX +Tennant Scrubbers/Sweepers +Tenant Allowance +Sanitization Service +Nashville Refresh Project +Floor Care Restroom Service +Bundled Janitorial Service +VCT - Routine +Reschedule Services +Polished Concrete Rejuvenation/Resealing +Performance Issue +No Show/Merchandise Removal Fee +Missed Service +LVT Scrub Remodel W/ Janitorial Cleaning +Floor Cleaning (Non Carpet) +Carpet Cleaning/Extraction +"Sweep, Scrub, & Buff" +Concrete Floor Scrub w/ Janitorial Cleaning +LVT Floor Scrub w/ Janitorial Cleaning +Strip & Wax w/ Janitorial Cleaning +Scrub & Recoat w/ Janitorial Cleaning +"Sweep, Scrub, & Buff w/ Janitorial Cleaning" +Branch Inspection +Service Feedback +Damage/Flooding +Autoclave Repair +Clean-Up +Steamers-Plumber Needed +Vacant +Survey +Survey +Wood +"Winterization, Temp Utilities & Heat" +Windows +Window/Wall Unit +Window Wells +Window Washing +Window Repair +Window Glazing +Water Treatment +Water Treatment +Water Meters +Water Meters +Water Main Repair & Replace +Water Heater +Water Heater +Water Features +Washer/Dryer +Wallpaper +Wall & Attic Insulation +Vinyl +Vinyl +Vents/Grilles/Registers +Vehicle Expenses And Fuel +Utility Sink +Utility Meter & Tap Fees +Tub/Shower +Trim +Tree Removal +Tree Pruning +Trash Haul +Topsoil/Sand/Gravel +Toilet +Toilet +Tile/Grout Cleaning +Tile Roof Replacement +Tile +Tile +Thermostat +Sump Pump +Sump Pump +Stucco +Stucco +Structure Demo +Stairs/Rails - Interior +Stairs/Rails - Interior +Stairs/Rails - Exterior +Stairs/Rails - Exterior +Split System/Heat Pump +Split System/Gas +Specialty Tile +Specialty Tile +Specialty Hardware +Specialty Coatings +"Soffit, Eaves & Fascia" +Small Tools & Supplies +Skylights +Skylights +Site Grading +Siding Replacement +Siding Repair +Shutters +Shower Door +Shower Door +Shingle Roof Replacement +SFR Recuring Subscription Clean +SFR Clean - Post Construction +Sewer Main Repair & Replace +Septic +Seeding & Sodding +Security Systems/Alarms +Security Systems/Alarms +Security Systems/Alarms +Screens +Saas Fees +Rough Lumber & Material +Roofing & Flashing Repairs +Rods & Shelves +Retaining Walls +Rental Equipment +Remote Access And Lockboxes +Remediation +Remediation +Reglaze & Resurface +Refrigerator +Refresh Clean +Range Hood/Microwave Combo +Range Hood +Propane Tanks +Private Inspections +Pressure Washing +Pool/Spa Demo +Pool Surface +Pool Service +Pool Safety +Pool Heating/Cooling +Pool Decking +Pool Construction +Pool Cleaning Systems & Features +Plumbing Fixtures & Equipment +Plumbing +Plant Materials +Paving & Flatwork +Paving & Flatwork +Paint Prep/Drywall Repair +Package System/Heat Pump +Package System/Gas +Oven/Range +Outlets/Switches +Outlets/Switches +Other Roof Replacement +Other +Odor Treatments +Mulch +Mowing & Landscape Service- Initial +Misc. Job Office Expense +Misc. Exterior Hardware +Mirror +Mini-Split System +MFR Recuring Subscription Clean +MFR Clean - Post Construction +Masonry Restoration & Cleaning +Mailboxes & Directories +Luxury Vinyl Tile +Luxury Vinyl Tile +Luxury Vinyl Plank +Luxury Vinyl Plank +Low Voltage & Misc. Electric +Light Bulbs +Lawn Sprinklers/Irrigation- Service/Repair +Lawn Sprinklers/Irrigation- Install +Laminate +Laminate +Kitchen Sink +Kitchen Sink +Job Level Salary +Irrigation Controller/Timer +Interior Paneling/Wainscotting +Interior Paneling/Wainscotting +Interior Paint +Interior Light Fixtures +HVAC Service & Repairs +HVAC Extras +Hazardous Mat. Removal/Disposal +Gutters +General Roofing & Gutters +General Pool +General Plumbing +General Paint & Coatings +General Laundry +General Landscape +General Interior Finishes +General HVAC +General Flooring +General Fees +General Exterior Finishes +General Electric +General Disposal & Remediation +General Contracting Fees +General Cleaning Services +Gates & Gate Operators +Gas Main Repair & Replace +Garage Service & Accessories +Garage Doors +Garage Door Openers +Furnishing Install +Furnace +Framing +Foundation Repairs +Flooring +Floor Prep +Flat Roof Replacement +Fireplace +Fire And Life Safety +Finish Hardware & Bath Accessories +Fencing - Wood +Fencing - Wood +Fencing - Vinyl/PVC +Fencing - Vinyl/PVC +Fencing - Iron +Fencing - Iron +Fencing - Chain Link +Fencing - Chain Link +Fencing - Brick/Block +Fencing - Brick/Block +Fencing +Fans +Extra - Spec. Gutters/Drainage +Extermination +Exterior Wood Repair +Exterior Vents +Exterior Paint +Exterior Light Fixtures +Exh. Fans & Dryer Vent +Evaporative (Swamp) Cooler +Electrical Service +Electrical Panel +Electrical Panel +Electrical +Dumpsters +Ductwork +Ductwork +Drywall +Drain Pans/Condensate Lines +Doors - Screen/Storm +Doors - Interior Hardware +Doors - Interior +Doors - Exterior Hardware +Doors - Exterior +Doorbell +Doorbell +Disposal +Dishwasher +Disconnects/Fuses +Disconnects/Fuses +Detached Structures +Demolition And Removal +Deck Stain +Deck Repair +Deck Install & Replacement +Deck Demo +Countertops +Cost Estimating +Contingency +Consumables +Construction Trash Out +Condenser +Condenser +Commercial Clean +Clearing & Grubbing Hard Cut +Cleaning Supplies +Cleaning Equipment +Chimney +Caulk Fixtures/Trim +Caulk Fixtures/Trim +Carpet Repairs +Carpet Cleaning +Carpet +Cabinets Replace +Cabinets Repairs +Cabinet Paint +Building Inspections & Permits +Brick/Stone +Brick/Stone +Blinds & Window Coverings +BBQ & Firepit +Bathroom Sink +Bathroom Sink +Auger/Snake Individual Fixture +Auger/Scope Main Lines +Attic Access/Ladder +Attached Structures +Appliance Service +Appliance Install Accessories +Appliance Install +Air Handler +Air Handler +Address Numbers +Acoustic/Drop Ceiling +Acoustic/Drop Ceiling +AC Only System +Trip Charge +Vet Chest Freezer +Dryer Vent Cleaning +Air Scrubber +Repair +Install +Install +Replace +Replace +Repair +Install +Off Track +Mailbox +Driveway +Garage Door +Siding +Mailbox +Driveway +Toilet Seat +No Show/Missed Service +Equipment Scrubber Not Working +Checklist Not Complete +Monthly Landscape Review +Parking Signs +"Not Working, Broken or Damaged" +Not Working +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Not Working +Not Heating +No Power +No Humidification +Door/Handle Issue +Control Panel Not Working +Not Working +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Not Working +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Charger Replacement +Battery Replacement +Purchase +Client Owned +Rental +Repair +Replace +Repair +Plumbing +Other +Monitoring +Failed +Cleaning +Customer Credit +Concession Credit +Overall Drywall - Light +Overall Drywall - Heavy +Replace Gas HVAC Package Unit +Replace Electric HVAC Package Unit +General Permit Fee - Plumbing +General Permit Fee - HVAC +General Permit Fee - Electrical +Replace Single Overhead Garage Door +Replace Double Overhead Garage Door +Prep Subfloor +Replace Gcfi Outlet W/ Weatherproof Cover +Replace Medicine Cabinet +Remove Medicine Cabinet - Surface Mount +Remove Medicine Cabinet - Recessed +Replace Washer - Material Only +Replace Vent Hood - Material Only +Replace Range- Material Only +Replace Refrigerator- Material Only +Replace Wall Oven- Material Only +Replace Microwave- Material Only +Replace Dryer- Material Only +Replace Dishwasher- Material Only +Replace Cooktop - Material Only +Replace Washer - Labor Only +Replace Vent Hood - Labor Only +Replace Range- Labor Only +Replace Refrigerator- Labor Only +Replace Wall Oven- Labor Only +Replace Microwave- Labor Only +Replace Dryer- Labor Only +Replace Dishwasher- Labor Only +Replace Cooktop - Labor Only +Replace/Install Sheet Of Plywood/OSB +Remove Solar Panels From Roof +Remove Additional Layer Of Shingles +Replace/Install Water Heater Platform +Sink Re-Installation +Replace Shower Kit (Pan And Surround Panels) +Replace Bath And Shower Kit (Tub And 3-Piece Surround Panels) +Upgrade Water Meter Spread +Snake/Clear Drain Line +Septic Pump Out/Inspect +Replace/Install Laundry Washer Box And Valves +Replace Main Plumbing Stack +Remove/Replace Polybutylene Piping +Remove Water Softener +Replace Entire Tub/Shower Trim Kit +Drylok Paint +Stump Grinding +Replace Landscaping Timbers +Replace Concrete Retaining Wall +Prep And Install Grass Seed +Install Fill Dirt/Soil +Crane Rental +Replace Stair Riser/Tread +Pressure Wash - Home Only (>2500sqft) +Pressure Wash - Home Only (<2500sqft) +Pressure Wash - Full Service +Pressure Wash - Driveway & Walkways +Pressure Wash - Deck/Patio +Replace Sliding Glass Door Handle/Lock +Replace Exterior Door Lockset Combo (Lever And Deadbolt) +Replace Exterior Door Lockset Combo (Knob And Deadbolt) +Install Single Sided Deadbolt w/ Exterior Blank Plate +Initial Access: Drill Out Locks +Replace Interior Door Casing +Replace Concrete Retaining Wall +Replace/Install Self-Closing Hinge (Adjustable Spring) +Replace/Install Door Viewer +Replace Standard Door Hinge +Replace Screen Door +Replace Prehung French Doors +Replace Brickmold +Repair Screen Door +Project Dumpster/Debris Removal (40 Yard) +Project Dumpster/Debris Removal (30 Yard) +Project Dumpster/Debris Removal (20 Yard) +Replace Suspended Ceiling +Replace Individual Ceiling Tiles +Foundation Repair/Placeholder +Foundation Assessment/Inspection +Tile Cleaning +Replace Transition Strip +Replace Soffit - Wood +Replace Soffit - Aluminum +Replace Siding - Wood +Replace Siding - Vinyl +Replace Siding - Fiber Cement +Replace Fascia - Wood +Replace Fascia - Aluminum +Replace Light Fixture - Vanity Bar +Replace Light Fixture - Chandelier +Replace Window Sill +Replace Window Locks +Replace Interior Window Casing +Replace Stair Railing - Wrought Iron +Replace Stair Railing - Wood +Replace Stair Railing - Vinyl +Replace Porch Railing - Wrought Iron +Replace Porch Railing - Wood +Replace Porch Railing - Vinyl +Replace Deck Railing - Wrought Iron +Replace Deck Railing - Wood +Replace Deck Railing - Vinyl +Replace Balcony Railing - Wrought Iron +Replace Balcony Railing - Wood +Replace Balcony Railing - Vinyl +Overall Cleaning - Light Clean +Overall Cleaning - Deep Clean +Appliance Deep Cleaning +Additional Spot Cleaning +"Replace/Install Complete Vanity Cabinet - 72""" +"Replace/Install Complete Vanity Cabinet - 60""" +"Replace/Install Complete Vanity Cabinet - 48""" +"Replace/Install Complete Vanity Cabinet - 36""" +"Replace/Install Complete Vanity Cabinet - 30""" +"Replace/Install Complete Vanity Cabinet - 24""" +"Replace/Install Complete Vanity Cabinet - 18""" +"Replace Vanity Countertop w/ Molded Sink(s) - 72""" +"Replace Vanity Countertop w/ Molded Sink(s) - 60""" +"Replace Vanity Countertop w/ Molded Sink - 48""" +"Replace Vanity Countertop w/ Molded Sink - 36""" +"Replace Vanity Countertop w/ Molded Sink - 30""" +"Replace Vanity Countertop w/ Molded Sink - 24""" +"Replace Vanity Countertop w/ Molded Sink - 18""" +Replace Countertop - Quartz +Repaint Medicine Cabinet +Dryer Vent Cleanout +Survey +LED Message Center +Window Vinyls +External Move +Internal Move +"Not Working, Broken or Damaged" +Leaking +Safety Inspection Survey +Maintenance Survey +Deep Cleaning +Schedule Cleaning +Electrical Lighting +Dock Doors/Man Doors +HVAC +Special Information Request +Non-emergency Location Access +Customer Service Visit +Maintenance Management +Disaster Response +New Build/Decom +Valves/Plumbing +Timer +Motor +Filter Sand Change +Filter Clean Needed +Vacant Property Assessment +Annual Combo Change +Not Working +Dispatch Service +Dispatch Service +Customer Owned +Rental +Electrical/Lighting +Dock Doors/Main Doors +HVAC +Customer Trash Can +Install/Move +Humidity Issue +Stuck +Stuck +Will not open/close +Replace +Repair +Schedule Preventative Maintenance +Dock Bumpers Damaged/Broken +Not Sealing +Replace +Leveler Damaged/Broken +Loose/Damaged +Hardware +Repair parking lot +Repair concrete +Repair damaged +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Install/Remove Lockbox +Check Thermostat +Customer Trash Can +Install/Move +Monthly PM +Annual PM +Signet Furniture +Vacant Building Inspection +Code Change +Code Change +Code Change +Code Change +Code Change +Code Change +Code Change +Code Change +Code Change +Code Change +Code Change +Installation +"Not working, Broken or Damaged" +Not Working +Broken/Damaged +Installation +Survey Live Test +Parts Purchase +Parts Purchase +IT Support +Volation/Fine +Stormwater Management +Odor +Hazardous Material +Initial Environmental Assessment +Post Environmental Assessment +Other +Broken/Damaged +Not misting +Leaking +Roof inspection +"Replace landscaping rock (2"" thick)" +Replace/install water heater drain pan +Replace water heater supply line +Replace Seismic Straps +Replace door stop +Shower Curtian Rod - tension fit +Shower Curtian Rod - permanent +Replace washer valve +Install sliding glass door security bar +Replace vanity countertop w/ molded sink +Replace/install complete vanity cabinet w/ sink +Replace complete electric HVAC system +Replace complete gas-split HVAC system +Replace/install bi-fold door +Replace/install bi-pass door +Replace/install bath control levers and trim kit +Repaint garage door +Replace prehung sliding glass doors +Replace/install fence post +Replace/install fence picket +Replace/install fence panel +Project dumpster fee +Replace/install TPR valve +Clean and inspect fireplace for safe operation +Replace light fixture +Replace/install tile surround +"Full interior repaint (walls, ceilings, and floor)" +Replace cabinet floor +Replace angle stop +Replace cabinet hardware (knobs/pulls) +Re-skin cabinet floor +Replace toilet paper holder +Replace towel ring +Service garage door +Security Alarm Fee Adjustment +Security Brackets +Unable To Lock/Unlock +Keypad Issue +Unable To Lock/Unlock +Keypad Issue +Order Lights +Magenta Rope Lighting +"Computers, Internet, Registers, Remotes, Wi-Fi" +Other +Will not open +Will not close +Weather stripping +Other +Latch/Closer/Hinge issue +Handle/Door Knob/Chime +Dragging +Door Frame Issue +Broken Door +Tenant Brand Sign +Gophers +Geese +Remove Decals/Promotional signage +Other +Fence +Door +Building structure +Bollard +Power washing exterior building +Awning cleaning +Deep cleaning +Window Cleaning +Other +Will Not Heat Up +Will Not Turn On +Repair +Condition Assessment +Load Bank +Annual +Airflow Issue +Cleaning +Cleaning +Cleaning +Supply Line/Valve +Supply Line/Valve +Repair/Maintenance +Well System Issues +Install +Hallway +HVAC Asset Survey +Vacant Property +Property Inspection +Vacant Filter Change +Water Diversion +Other +Won't Open/Won't Close +Annual Fire Sprinklers +Semi-annual Fire Sprinklers +Quarterly Fire Sprinklers +Pick-up and Dispose +Vandalism +Not Heating +Not Cooling +Making Noise +Leaking Water +Airflow Issue +Main Aisle Mini Wax +Wash and Buff (VCT - SSB) +Wash and Buff (Polished Concrete) +LVT & BBT Wash (Bacteria free) +Other +Electrical Panel Inspection +Full Home Electrical Swap +Replace quarter round/shoe molding +Helpdesk 3 +Helpdesk 2 +Other +More than 25 lights out +Exit signs +Emergency lighting +6-25 lamps out +1-5 lamps out +Survey +Semi-annual +Quarterly +Monthly +Field Line Issues +Gas Lines +Oxygen Lines +Vent Hood/Ventilation System +Dsc-Specific Electrical +Steamers +Gas Boosters +Fuel Deployment +Generator Maintenance +Generator Deployment/Connection +Demo/Remediation +Water Extraction/Dry Out +Post Environmental Assessment +Initial Environmental Assessment +R & M Services +Computer Monitor Swing Arm +Affiliate Found on Site +No Working Toilet +Monthly Landlord Cleaning +Found on PM +Platform Adoption Fee +Off-Platform Fee +Asbestos Remediation +Asbestos Test +Communication Issue +Rental Inspection +Landscaping or Debris Removal +Backroom Inspection +Vestibule Cleaning Payment +EHS Project +Exterior Maintenance +Parking Lot +Alarming +Annual Fee +Plexiglass Install +Cooktop +Dryer +Stackable Washer/Dryer +Washer +Wall Oven +Vent Hood +Refrigerator +Range/Oven +Microwave +Dishwasher +Other +Other +Full interior touch-up paint +Repair window trim +Recaulk/seal window exterior +Replace/install rain cap +Install lockbox +Replace dryer vent cover +Replace dryer vent +Repair dryer vent +Replace thermostat +Replace/install sump pump +Repair sump pump +Clean and sweep fireplace +Cap and seal fireplace +Repoint/tuckpoint brick +Repoint/tuckpoint brick +Repaint stucco +Repaint siding +Repaint soffit +Repaint facia +Remove wallpaper +Service water heater +Service HVAC system +Replace sewer clean out cover +Replace/install fire blocking +Replace/install fire blocking +Other +Other +Other +Back Charge +Credit Memo +Material Amount Offset +Material Amount +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +IHT Fee +Warranty Replacement +Inspection +Survey +Found on PM +Contracted +Positive Case +Other +Name Plates - Order New +Install Other +Install Drive Up Banners +Order New Materials +Pylon/Monument Sign - Repair or Replace +Non Illuminated Signage - Repair or Replace +Illuminated Signage - Repair or Replace +Generic Directional Signs +Chase Branded Directional Signs +Water Treatment +Storage Cost Reimbursement +Cleaning +Exit Signs - WV +Emergency Lighting - WV +Semi-monthly +Weekly +New Store - Initial Service +Found on PM +Trip Charge +Semi-annual +"ATM Survey,Standalone COVID Cleaning Payment" +Enhanced Scope +Day Portering +Additional Service Day Payment +Supplies +Warranty Repair +New Unit Install +COVID Day Portering +COVID Additional Service Day Payment +COVID-19 Supplies +Regular Consumable Supplies +HVAC Survey +Water Treatment +Annual +Key Replacement +Lock Replacement +Preventative +Positive Case +"Replace/install complete vanity cabinet w/ sink - 36""" +"Replace/install complete vanity cabinet w/ sink - 30""" +"Replace/install complete vanity cabinet w/ sink - 24""" +Replace/install 30oz carpeting w/ new pad +Replace/install 25oz carpeting w/ new pad +Replace storm window +Replace window screen and frame +Repair window screen +Permit fee - Water Heater Replacement +Replace/install water heater thermal expansion tank +Replace water heater - 50g Direct Vent +Replace water heater - 50g Gas +Replace water heater - 50g Elec +Replace water heater - 40g Gas +Replace water heater - 40g Elec. +Replace 3-piece Bath Accessory Kit +Replace Towel Bar +Install Fire Extinguisher +Replace smoke detector (wired) +Replace smoke detector (battery) +Replace undermount kitchen sink (steel) +Replace kitchen faucet - upgrade +Replace kitchen faucet - standard +Reconfigure kitchen sink drains +Replace alcove bathtub +Replace shower/tub valve cartridge +Replace showerhead +Replace Exterior GFCI Weatherproof cover +WDIIR Inspection +Provide quote for Termite Treatment +Provide quote for bird removal +Bed Bug Treatment (Additional Room) +Bed Bug Treatment (Intial Room) +Flea/Tick Treatment +Treat property for Yellow Jackets/Hornets +Treat property for Wasps +Remove Bee Swarm +Inspect/Treat property for Rodents +Treat property for German Roaches +Treat property for American Roaches +Treat property for Spiders +Treat Ant Infestation +One Time General Pest Treatment +General Permitting Fee +"Full exterior repaint (siding/walls, trim, gable ends, etc; foundation to roofline)" +Repaint all interior cabinetry - Interior & Exterior +Repaint all interior cabinetry - Exterior Only +"Repaint all interior walls, doors, trim (no ceilings)" +Repaint all interior wall surfaces (walls only) +Interior primer prior to paint +"Full interior repaint (walls, ceilings, doors, trim)" +Completion Package - Door hardware +"Completion Package - Bulbs, Batteries, Filters" +Completion Package - Switch & Outlet Covers +Pressure Wash - Driveway & Walkways +Pressure Wash - Deck/Patio +Pressure Wash - Home Only (>2500sqft) +Pressure Wash - Home Only (<2500sqft) +Pressure Wash -Full Service +Full clean entire home +Replace wall mounted mail box +Second Avenue: Other Ext. Door Lock Change +Second Avenue: Front Door Lock Change +Replace light fixture - 6 bulb vanity bar +Replace light fixture - 4 bulb vanity bar +Replace chandelier +Replace light fixture - can +Replace light fixture - wall sconce +Replace light fixture - flush mount +Replace/Install Dehumidifier +Clean Gutters (2 story) +Clean Gutters (1 story) +Replace/install gutter +Replace Garage Door Opener Remote +Repair door jamb +Replace window well cover +Carpet Cleaning +Reset Appliance +Carpet Restretch +Stair Labor +Install Tackstrips +Demo Wood Flooring +Demo Laminate +Demo Vinyl Flooring +Demo Tile +Demo Carpet +Replace LVP flooring (glued) +Replace LVP flooring (floating) +Replace laminate flooring +Replace countertop - Granite +Replace countertop - Laminate +Replace ceiling drywall in specified room +Replace quarter round/shoe modling +Building Assessment +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +"Not Working, Broken or Damaged" +Installation +"Not Working, Broken or Damaged" +Installation +"Not working, Broken or Damaged" +Installation +Conversion +Handrail Replace +Handrail Repair +Replace +Repair +Annual Floor Service +Janitorial Vendor Survey +Not working +Overgrown/Service Needed +Snow Request +Pool specialty inspection +Foundation specialty inspection +Roofing specialty inspection +HVAC specialty inspection +Other specialty inspection +Other - WV +Damaged - WV +Camera Issue - WV +Code Change +LED light strips - WV +Magenta Rope Lighting - WV +Unable To Lock/Unlock - WV +Keypad Issue - WV +Unable To Lock/Unlock -WV +Keypad Issue - WV +Broken +Electro Freeze +Taylor +New Unit Install +Face Sheild/Sneeze Guard +Speed bumps +Remove +Repair +Install +Payment +Full Day +Visit - Exterior Only +Visit - Interior Only +Visit - Interior + Exterior +Payment +Exterior Pressure Washing +Secured Area Cleaning +Furniture Maintenance +Carpet Maintenanance +Hard Floor Maintenance +Dust Vents & Blinds +Window Cleaning 3+ Floors +Window Cleaning +Clean Stairwells +Speical Cleaning +Exterior Pressure Washing +Secured Area Cleaning +Furniture Maintenance +Carpet Maintenanance +Hard Floor Maintenance +Dust Vents & Blinds +Window Cleaning 3+ Floors +Window Cleaning +Clean Stairwells +Nightly Cleaning +Payment +SMS assessment +Prepare Inspection report +Prepare Inspection report +Prepare Inspection report +Prepare Inspection report +Construction WO +"Replace Cord, Plug, Connection - C&R" +Not Dispensing Product - C&R +Not Blending - C&R +No Power - C&R +Water leaking - C&R +Other - C&R +Cooling issue - C&R +Not Blending - C&R +No Power - C&R +Making Noise - C&R +Leaking - C&R +Turn on all utilities +Replace entire tile roof +Replace entire dim shingle roof +Replace entire 3-tab shingle roof +Repair damaged/leaking roof +Remove gutter system as specified +Repaint gutters +Replace/install splashblock(s) +Replace/install downspout(s) +Replace/install gutter system +Repair existing gutter system +Replace removable pool fence +Repair existing pool fence +Repaint pool surface +Replace pool deck access covers +"Replace pool accessory (diving board, ladder)" +Replace pool heater +Replace pool filtration equipment +"Repair pool accessory (diving board, ladder)" +Repair pool water lines +Repair pool heater +Repair pool filtration equipment +Repair fiberglass pool surface +Repair tile pool surface +Repair plaster pool surface +Replace water heater +Repair water heater +Replace tank +Replace complete toilet +Replace toilet seat +Replace supply line +Install bolt caps +Replace tank-to-bowl kit +Replace wax ring +Replace handle +Replace flapper +Replace flush valve +Replace fill valve +Repair closet flange +Remove shower doors +Prep and resurface surround +Replace glass surround panel(s) +Replace glass shower doors +Replace/install surround panels +Regrout tub/shower tiles +Repair glass shower doors +Recaulk tub/shower surround +Repair tile tub/shower surround +Remove utility sink +Remove vanity & lav sink +Resurface lav sink +Resurface kitchen sink +Replace vanity & lav sink +Replace kitchen sink (porcelain) +Replace kitchen sink (steel) +Replace utility faucet +Replace kitchen faucet +Replace lav faucet +Replace air gap +Repair/replace P-trap +Replace supply lines +Replace kitchen sink baffle +Replace kitchen sink strainer +Repair utility faucet +Repair kitchen faucet +Repair lav faucet +Repair lav sink popup +Prep and resurface tub +Replace deck-mounted tub faucet +Replace tub spout +Replace tub drainstop +Replace shower/tub valve +Repair deck-mounted tub faucet +Repair showerhead +Repair shower/tub valve +Replace water treatment system +Repair main water supply +Repair water treatment system +Repair pipes +Replace frost-proof hose bib +Replace standard hose bib +Repair existing hose bib +Sewer camera +Repair existing DWV system +Perform exterior flea treatment +Perform interior flea treatment +Bedbug treatment +Pest exclusion +Other WDP treatment +Termite treatment (tenting) +Termite treatment (ground) +Bat removal +Rodent removal +Bird removal +General exterior pest treatment +General interior pest treatment +Repaint entire room complete +Repaint all room ceiling +Repaint all room trim +Repaint all room walls +Repaint all exterior doors/trim +Repaint all exterior walls of home +Repaint all interior cabinetry +Repaint all interior ceilings +Repaint all interior doors/trim +Repaint all interior wall surfaces +Perform odor-sealing of concrete slab +Perform ClO2 treatment +Perform ozone treatment +"Mow, trim, dress entire property" +Mulch beds with cedar mulch +Mulch beds with pine straw +In-wire tree trimming +Trim trees >10' from ground +Remove tree +Remove shrubs/plants +Remove water feature +Install sod +Replace tree +Replace shrub +Repair water feature +Remove irrigation system +Install irrigation system +Replace irrigation timer +Replace drip head +Replace sprinkler head +Repair buried irrigation piping +Remove block wall +Remove fencing +Repaint block wall +Repaint/stain wood fence +Replace cinder block wall +Replace complete hogwire fence +Replace complete chain-link fence +Replace complete vinyl fence +Replace wood fencing with new posts +Replace wood fencing on existing posts +Repair fencing and/or gate +Repair landscape drainage issue +Replace HVAC register +Replace return air filter grille +Replace flex duct +Replace ductless split HVAC +Replace ground-level HVAC package unit +Replace roofmounted HVAC package unit +Replace refrigerant lines +Replace furnace +Replace air handler +Replace heat pump +Replace condenser +Install filter box +Clean HVAC ducts +Repair HVAC ducts +Repair ductless split HVAC +Repair HVAC package unit +Repair refrigerant lines +Repair furnace +Repair air handler +Repair heat pump +Repair condenser +Repaint wall +Retexture walls in entire room +Replace drywall in entire room +"Perform ""floodcut"" and repair" +Repair drywall +Remove storage shed +Repaint storage shed +Replace/install storage shed +Repair storage shed roof +Repair storage shed floor +Repair storage shed exterior +Replace stair railing +Replace stair structure +Repair stair railing +Repair stair structure +Remove detector +Replace combo detector +Replace CO detector +Replace smoke detector +Change batteries in detectors +Remove shelving +Repaint shelving +Replace closet rod +Replace wood shelving +Replace metal shelving +Repair wood shelving +Repair metal shelving +Disable security system +Remove entire security system +Install new security system +Repair existing security system +Remove satellite dish from yard +Remove satellite dish from siding +Remove satellite dish from roof +Remove mirror +Replace mirror +Resecure mirror mounts to wall +Add trim around mirror to cover lost silvering +Remove mailbox and post +Repaint mailbox +Replace mailbox post +Replace mailbox +Repair mailbox post +Repair existing mailbox +Replace dummy lever +Replace privacy lever +Replace passage lever +Replace dummy knob +Replace privacy knob +Replace passage knob +Replace ext. deadbolt with electronic +Replace ext deadbolt with manual +Replace ext door handle set +Rekey all locks to match +Remove contaminated insulation +Install insulation under subfloor in crawlspace +Install blown insulation in walls +Install blown insulation in attic +Remove contaminated ground +Install radon system +Replace vapor barrier +Repair damaged sections of existing vapor barrier +Replace door weatherstripping +Replace door threshold +Repair existing threshold +Repaint door (outside only) +Repaint door (inside only) +Replace door slab only +Repair door jam +Repair existing door/hardware +Remove door +Repaint door +Replace door slab +Replace prehung door +Repair existing door/hardware +Remove debris from interior areas +Remove debris from exterior areas +Paint ceiling +Retexture ceiling in entire room as specified +Replace ceiling drywall in entire room +Repair existing ceiling +Remove address numbers +Paint address numbers as specified +Replace address numbers +Repair existing address numbers +Remove access door +Repaint access door +Replace crawl space access panel +Replace crawl space access door +Replace attic access door/panel (no ladder) +Replace attic access ladder assembly +Repair existing access door +Replace overhead door opener +Replace overhead door panels +Replace complete overhead door +Repair overhead door opener +Repair existing overhead door +Seal exterior basement walls +Seal interior basement walls +Repair block foundation wall +Level foundation slab +Install basement drain tile system +Fill foundation cracks +Refinish all wood flooring +Replace all sheet vinyl +Replace all VCT flooring +Replace all laminate flooring +Replace all VP flooring +Replace all carpeting +Remove carpeting - expose wood +Refinish wood floor +Paint concrete floor +Replace sheet vinyl flooring +Replace laminate flooring (glued) +Replace laminate flooring (floating) +Replace VP flooring +Replace VCT flooring +Replace wood flooring +Replace carpeting +Repair/regrout floor tiles +Repair subfloor +Repair vinyl flooring +Repair carpeting +Repair wood flooring +Repair fascia +Repair soffit +Repair siding +Repair stucco +Remove improper wiring +Install new electrical circuit +Rewire entire home +Repair existing wiring +Replace electrical panel +Repair existing electrical panel +Replace switch +Replace standard outlet +Replace GFCI outlet +Correct wiring on device +Remove light +Replace ceiling fan with light +Replace light fixture >12' +Replace light fixture <12' +Repair light fixture +Replace exterior hanging light fixture +Replace post light fixture +Replace exterior flood light +Replace exterior wall-mounted light fixture +Repair exterior lighting +Remove exhaust fan and repair surfaces +Install exhaust fan +Replace exhaust fan cover +Replace exhaust fan motor +Replace exhaust fan +Repair existing exhaust fan +Replace/install wireless doorbell +Replace doorbell chimes +Repair existing doorbell +Remove ceiling fan +Replace ceiling fan +Repair existing ceiling fan +Repaint wood windows +Replace window assembly +Reglaze window pane(s) +Replace window pane(s) +Repair window balancers +Repair window locks +Replace colonial shutters +"Replace 2"" horizontal blinds" +"Replace 1"" mini-blinds" +Replace vertical blinds +Repair interior shutters +Repair horizontal blinds +Repair vertical blinds +Remove security door +Remove storm door +Repaint security door +Repaint storm door +Replace security door +Replace storm door +Repair security door +Repair storm door +Remove baseboards +Prep and paint baseboard +Replace baseboard +Repair existing baseboards +Remove balcony structure +Repaint/refinish balcony surface +Repaint balcony railings +Replace wood balcony stairs +Replace balcony railing +Replace wood balcony planks +Replace entire balcony structure +Repair existing balcony +Remove porch structure +Repaint/refinish porch surface +Repaint porch railings +Replace wood porch stairs +Replace porch railing +Replace wood porch planks +Replace entire porch structure +Repair existing porch +Remove deck structure +Repaint/refinish wood deck surface +Repaint deck railings +Replace wood deck stairs +Replace deck railing +Replace wood deck planks +Replace entire deck structure +Repair existing deck +Full clean entire home - Large +Full clean entire home - standard +Repaint vanity cabinet +Replace/install vanity cabinet +Repair existing vanity cabinet/hardware +Remove countertop +Refinish/coat existing countertops +Remove/reinstall countertops +Replace backsplash +Replace countertop +Repair existing countertop +Remove cabinet +Prep and paint/refinish complete cabinet +Replace vanity cabinet w/o sink +Replace vanity cabinet w/ sink +Replace base cabinet +Replace wall cabinet +Repair existing cabinets/hardware +Remove poured slab +Prep and paint pool deck +Repaint traffic/parking marks +Recoat asphalt with sealant +Recoat/replace pool deck surface +Replace concrete/asphalt +Repair pool deck surface +Repair existing concrete/asphalt surfaces as specified +Remove washer +Replace washer with specified model +Repair existing washer +Remove vent hood +Replace vent hood with specified model +Install new hood filters +Repair existing vent hood +Remove range +Replace range with specified model +Repair existing range +Remove refrigerator +Replace refrigerator +Replace refrigerator water filter +Repair/replace icemaker water supply line +Replace refrigerator door handle(s) +Replace icemaker unit +Repair refrigerator door icemaker +Repair refrigerator shelves/bins +Replace freezer door seal +Replace freezer door liner +Replace refrigerator door seal +Replace refrigerator door liner +Replace freezer box liner +Replace refrigerator box liner +Repair nonworking freezer +Repair nonworking refrigerator +Remove wall oven +Replace wall oven +Repair existing wall oven +Remove microwave +Replace microwave +Connect vent to exterior of home +Install new microhood filters +Repair existing microwave +Remove disposal - add strainer +Replace disposal +Repair existing disposal +Remove dryer +Replace dryer +Repair existing dryer +Remove dishwasher +Repaint dishwasher panel +Replace dishwasher +Repair existing dishwasher +Remove cooktop +Replace cooktop with specified model +Repair existing cooktop +Quality Assurance +Trouble +Repair +Filter Change/Trip Charge +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +New Equipment Install +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Screen Broken +Other +Icing Up +Water Leaking +Making Noise +Lighting +Fan Not Working +Screen Broken +Other +Icing Up +Water Leaking +Making Noise +Lighting +Fan Not Working +New Equipment Install +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Making Noise +Lighting +Fan Not Working +New Equipment Install +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Screen Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Other +Other +Icing Up +Water Leaking +Making Noise +Fan Not Working +New Equipment Install +Gasket Repair/Replacement +Not Maintaining Temp +Hinges/Latch Broken +Lighting +Fan Not Working +New Equipment Install +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Screen Broken +Other +Icing Up +Water Leaking +Making Noise +Screen Broken +Other +Icing Up +Water Leaking +Making Noise +Lighting +Fan Not Working +New Equipment Install +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Water Leaking +Making Noise +Lighting +Fan Not Working +New Equipment Install +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Screen Broken +Other +Icing Up +Shelving/Rack +Gasket Repair/Replacement +Not Maintaining Temp +Screen Broken +Other +Icing Up +Water Leaking +Making Noise +Lighting +Fan Not Working +New Equipment Install +Repair +Preventative Maintenance +Replace +Damage +Damaged +Broken +Repair +Repair +Repair +Repair +Repair +Baby Changing Station +Repair +Maintenance +Issue +Survey/Trip Charge +PM/Trip Charge +New Refrigerator +Fall Clean Up-2 +Fall Clean Up-1 +Testing +Equipment +Menu board damaged +Speaker box damaged +Other +Not Lighting +Not Blending +No Power +Making Noise +Leaking +1-9 Lamps Out +10 Or More Lamps Out +4 Fixtures Or More +3 Fixtures Or Less +Survey Count Fixtures/Lamps +Retrofit +Repair +Other +High Electric Bill +Spring Cleanup-3 +Spring Cleanup-2 +Spring Cleanup-1 +Recurring Landscape Maintenance-2 +Recurring Landscape Maintenance-1 +Soap Dispenser +Stormwater Management +Break In +Repair/Replace +Replacement +Repair/Replace +Steamer +Replacement +Damaged +Cracked +Replacement +Additional Keys Needed +Glass Shattered +Additional Keys Needed +Won't Lock/Unlock +Locks Loose/Missing +Understock Door Won't Lock/Open +Locks Loose/Missing +Door Won't Lock/Unlock +Rekey +Additional Keys Needed +Lights Not Working +Lights Not Working +Lights Not Working +Pass Through Utilities +Will Not Flush/Backing Up +Low Water Pressure +Broken Drain Cover +Screen +Gas Smell +Low Water Pressure +Low Water Pressure +Will Not Flush/Backing Up +Broken Drain Cover +Low Water Pressure +No Water +Repair +Loose +Leaking +Running Continuously +No Power +Clogged +Backing Up +Alarm Going Off +Transition Strips +Missing/Damaged Trim +Loose +Damaged +Cracked +Lock issue +Door Issue +Damaged Millwork +Damaged Mannequins +Damaged Laminate +Detaching From Wall +Hardware Loose +Door Won't Lock +Loose/Damaged +Hardware +Missing/Damaged Trim +Damaged +Won't Open/Close +Hardware +Damaged Millwork +Damaged +Wiremold Outlet +AAADM Certification and PM +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Finish Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Surface Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Hub Lab Down +Warranty Dispatch Fee +Landlord Dispatch Fee +Melitta Not Operating +Milk Unit Inoperable +Melitta Bean and Cup Completely Down +Spot Treatment +Other +Venstar-EMS +Expanded PM +Completely Down +Not Operating Properly +Completely Down +Major Leak +Not Operating Properly +Minor Leak +Dust Blinds/Vents +Evaluation +Evaluation +Evaluation +Evaluation +Fresh Pet +Nature's Variety +Petsmart Owned +Survey +Debris Removal +Replace +Visit +Visit +Visit +Slurpee Machine +PM Major/Full +PM Major/Lite +HVAC/R PM/Major +Power Washing +Power Washing +Generator Rental +BMS Subscription Service +Spinner Locks +Showcase Locks +Interior Door +Exterior Door +Other +Signage Part +Lighting Part +HVAC Part +Main controller +Supply air +Humidity +CO2 +outside air +photocell +zone sensor +Intermittent polling +Main controller offline +Entire network offline +Two or more zones offline +One zone offline +Entire RTU network offline +Three or more units offline +Two units offline +One Unit Offline +Part Replacement Request +Main Controller +Lighting Controller +Part Replacement Request +Main Controller +RTU Controller +Installation +Unable to Secure +Multiple Equipment Type +Filter Change +Fire Extinguisher Inspection +Venstar +Venstar +FD - Damage +FD - Damage +FD - Damage +FD - Face Damage +FD - New Install +FD - Face Damage +Additional Keys Needed +Additional Keys Needed +Loose/off wall +New Equipment Install +Other +Leaking +Clogged +Water Line +Shut Down +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Hopper Sensor +Hopper Issue +Improper Calibration +Improper Calibration +Improper Calibration +Smoking/Electrical Smell +Not Alerting +No Hot Water/Tea +No Water +Improper Calibration +Improper Calibration +Making Noise +Improper Calibration +No Steam +Improper Calibration +Too Hot +PetSmart - Interior Doors +Ice Build Up +Glass +Other +Glass +Other +Glass +Gasket Repair/Replacement +Other +Not Holding Temp +Other +New Equipment Install +Too Warm +Too Cold +Other +Not Dispensing Product +No Power +Leaking +Other +New Equipment Install +New Equipment Install +Leaking +New Equipment Install +New Equipment Install +Leaking +New Equipment Install +Other +Not Maintaining Temp +Making Noise +Leaking +Gasket Repair/Replacement +Steam Wand Issue +Porta Filter +In-Line Filter +Grinder Issue +New Equipment Install +Leaking +New Equipment Install +"Replace Cord, Plug, Connection" +Other +Not Dispensing Product +Not Blending +No Power +Clean Stairwells +Dust Vents +Exterior Window +Strip and Wax +Vacuum Furniture +Dust Blinds +Interior and Exterior Window +Waste Clean-up +Asbestos +PetSmart - Interior Doors +Sourcing Fee Credit +Sign Completely Out +Gasket Repair/Replacement +Control Panel Not Working +Oven Hood +Filter Change +CONC +Spot +CONCRM +Energy Review Services +New Equipment Install +Not heating +No power +New Equipment Install +Not heating +No power +Other +Water Leaking +New Equipment Install +Lighting issue +Handle +Door +Cooling Issue +Other +Water Leaking +New Equipment Install +Lighting issue +Handle +Door +Cooling Issue +Running +Overflow +Other +No Hot Water +Loose +Leaking +Clogged +Shut Down +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Other +Not Heating +No Power +New Equipment Install +Conveyor Not Moving +Controls Not Working +Other +Not Heating +No Power +New Equipment Install +Conveyor Not Moving +Controls Not Working +Replace hose +Not dispensing +Replace hose +Not dispensing +Too Hot +Too Cold +Thermostat +"Repair/Replace Cord, Plug, Connection" +Repair +Not Holding Temp +No Power +Shut Down +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Shut Down +Poor Taste +Other +Not Dispensing Product +No Power +Clog +Clogged +Slow/no water flow +Leaking +Tank not filling +Drain line running +Water +Shut Down +Other +Not keeping product hot +No Power +Water +Shut Down +Other +No Power +Wrong grind +Not grinding +Not working +Minor Water Leak +Major Water Leak +Other +Not Heating/Working Properly +No Power +Leaking +Key Request +Shrub Trimming +Making Noise +Too Warm +Minor Leak +Making Noise +Major Leak +Door Issue +Bulloch Not Processing On All Pinpads Inside +Specialty Reach In Lighting +Meatwell Lighting +French Fry Freezer Lighting +Expeditor Station Lighting +Dip Counter Lighting +Crescor Lighting +Sandwich Heated Holding Station +Product Holding Unit +Oil Filter Replacement +French Fry Dispenser +Dough Press +Water Dispenser Down +Smoothie Not Operating +Shake Machine Not Operating +Payphone +Door Gasket +Too Warm +Not Operating +Minor Leak +Making Noise +Major Leak +Door Issue +Completely Down +Too Warm +Not Operating +Minor Leak +Making Noise +Major Leak +Door Issue +Completely Down +Too Warm +Not Operating +Minor Leak +Making Noise +Major Leak +Door Issue +Completely Down +Not Operating +Minor Leak +Major Leak +Completely Down +Too Warm +Not Operating +Minor Leak +Making Noise +Major Leak +Door Issue +Completely Down +Damaged/Leaking +Repair +Trench Grate Covers/Hair Strainer +Repair +Repair +New Request +Fixtures Out +More Than 100 Lights Out +50-100 Lamps Out +1-50 Lamps Out +Damaged/Missing +Stained/Wet +Stained/Wet +Damaged/Missing +Stained/Wet +Damage/Stained +Sand Bag/Board Up +No Parking/Stop/Handicap Signage +Dispatch Service +Will Not Come Down/Go Up +Will Not Open/Close +Not Closing/Not Opening +Damaged/Missing +Edging +Other +Icing Up +Gasket Repair/Replacement +Fan Not Working +Water Leaking +Other +Lighting Issue +Handle +Door +Cooling Issue +Overhead Heat +Lights +Heat Wells +Other +Not Heating +No power +Exhaust Hood +Overhead Heat +Lights +Heat Wells +Sifter/Breader +Marinator +Filter Machine +Can Opener +Overhead Heat +Lights +Heat Wells +Shattered +Other +Cracked +Other +Frontline +Frontline +Frontline +Frontline +Frontline +Service IVR Fine +Service IVR Fine +Service IVR Fine +Contracted Services +Contracted Elevator Services +Fire Pump +ATM Transaction Fee +Repair +Additional Service Needed +Notification +Shut Down +Other +Not tilting +Not heating +No Power +New Equipment Install +Bedroom +Medicine Closet +Bedroom +Medicine Closet +Bedroom +Bedroom +Bedroom +Professional Services +Insulation +Other +Install New +Hinge +Dragging +Door Frame Issue +Auto Opener +Weather Stripping +Frame Issue +Dragging +Violation/Fine +Violation/Fine +Violation/Fine +Violation/Fine +Violation/Fine +Violation/Fine +New Equipment Install +Other +Not Heating +Install +Cleaning +Backflow Repairs +Backflow Inspection +Branch Inspection +Additional Cleaning Supplies +Deep Cleaning +General Cleaning +Verify Proper Installation and Report Findings +Verify Proper Installation and Report Findings +Store Opening Work +Temp Below 19 C or Above 25 C +Face Damage +Other +Not Working +Intercom +Repair/Maintenance +Drawer +Pneumatics +Deficiency Report +Preventative Maintenance +Cleaning +Vestibule Security Lighting +Vestibule Painting +Vestibule Graffiti Removal +Vestibule Cleaning +Snow Removal +Pest Control +Landscaping +Cleaning +Bollards +Signage Damage Repair +Signage Damage Repair +Customer Credit +Concession Credit +ATM Lighting +Branch Lighting +Name Plates Remove +Name Plates Order New +Name Plates Install +Merchandise - Marketing +Merchandise - Digital Signage +Merchandise - Compliance Signage +Lighted Signage +Non Illuminated Signage +Merchandise - Marketing +Merchandise - Install Drive Up Banners +Merchandise - Compliance Signage +Illuminated Signage +Directional +Install New Operational Signage +Exit Signage +Emergency/Safety +Directional +Flag Pole Repair +Vandalism +Off-Premise MACD +Disaster Recovery +Branch Decommission +ATM Room Door +ATM Exterior Kiosk Door +Lock Box +Lock Box +Door Card Reader +Security Mirrors +Physical Damage Repair +Painting +Graffiti Removal +Faux Cards +Decals +Voice Guidance +Unit HVAC +Outage +Monitor +Locks +Keys +Keypad +Functionality Decals +Electrical Issue +Door issue +ATM Placement +Alarm Cable +Vestibule Security Lighting +Vestibule Repair/Maintenance +Vestibule Painting +Vestibule Lights +Vestibule HVAC +Vestibule Graffiti Removal +Vestibule Cleaning +Pest Control +Inspection +Inspection +Annual +Quarterly +Trimester +Monthly +Annual +Power Outage +Sensitive Item Actions +Insurance Assessment +Post-Event Inspection +Pre-Event Inspection +Board Up +Sandbagging +Winter Rye Seeding +Municipality +Access Change Fee +HOA Fee +CAM Charge +Supplier Field Service Team +Technology Platform +Helpdesk +Oversight and Management +Miscellaneous +Window & Glass +Office +H2 +H1 +Semi-Annual Cleaning +Q4 +Q3 +Q2 +Q1 +Quarterly Cleaning +Fee +Weekly Cleaning +Sunday +Saturday +Friday +Thursday +Wednesday +Tuesday +Monday +Nightly Cleaning +Branch Access Needed +"ATM Survey, Standalone" +"ATM Survey, Branch" +ATM Lighting Survey +ATM Survey +Annual Service +Monthly Fee +Repair +Fan Not Functioning +Service +Preventative Maintenance +Preventative Maintenance +Buzzing Noise +Repair +Emergency +Cleaning Needed +Missing +Damaged +Repairs Needed +Parking Revenue +Parking Attendant +Preventative Maintenance +Monthly Fee +General Fire Safety +Emergency Exits +Fire Hydrants +Fire Extinguishers +Emergency Lights +Exit Signage & Lights +Smoke/Carbon Monoxide Detectors +Fire Sprinklers +Fire Alarm +Monitoring System +Fire Safety Equipment +General Pest Prevention +Preventative Maintenance +Filter Change + Coil Cleaning +Filter Change + Belt Change +Filter Change +Quarterly +Lights Not Working +Drawer +Timer +Locks Loose/Missing +Other +Service +Decals Missing +Mural Frame +Play Area Wall Tile +Preventative Maintenance +Preventative Maintenance +Key Switches +Sparks/Smoke +Transition Strips +Preventative Maintenance +Repair Shop +Repair Shop +Repair Shop +Repair Shop +Damaged +Replace +Repair +Inspection +Push Button Test +Damaged +Lost Key +Locks Loose/Missing +Lights Not Working +Cracked Plastic +Mirror +Understock Door wont Lock/Open +Torn Laminate +Trim Missing +Trim Bent +Swing Gate Missing +Swing Gate Loose +Lift - Stuck in Up or Down Position +Door won't Lock/Unlock +Door Broken +Repair Broken Motors/Batteries +Locks Loose/Missing +Hinge Loose/Missing +Handles Loose/Missing +Cracked Glass +Chipped Glass +Damaged +Buzzing Noise +Repair +Emergency +Schedule Change +Timer Issue +Logo Change Needed +Missing/Damaged +Inspection +Office Mat +Logo Mat +Recessed Grill Floor Mat +Shelves +Gaming System +Lockers +Security Glass +Emergency Release Device & Handle +Dark Survey +Not Operating +Completely Down +Clogged +No Water +Parts Damaged +Won't Power On +Lancer Variety Not Operating +Lancer Variety Minor Leak +Lancer Variety Major Leak +El Nino Dispenser Not Operating +Cold Coffee Nitrogen Tank Not Operating Properly +Cold Coffee Nitrogen Tank Down +Cold Coffee Nitrogen Tank Refill Needed +Cold Coffee Brew Press Not Operating Properly +Cold Coffee Brew Press Down +Grinder Not Operating Properly +Grinder Down +Power Issue +Soft Serve Machine +Lemonade Tower Not Operating +Lemonade Tower Down +Fresh Blend Machine Leaking +Fresh Blend Machine Down +F'Real Machine Not Operating +Noodle Warmer Down +Powerwasher Not Operating Properly +Powerwasher Leaking +Powerwasher Down +Shortening Shuttle Not Operating +Shortening Shuttle Down +Chicken Fryer Dump Table Down +Chicken Fryer Down +Breading Table Not Operating +Breading Table Down +Clogged +Clogged +Not Holding Water +Cracked +Drain Clogged +Clogged +Deck Drain Clogged +Drain Clogged +Rotisserie Not Operating +Biscuit Oven Not Operating Properly +Biscuit Oven Down +Cracked +Parts Damaged or Missing +Other +Exterior Surfaces +Pool Care +Permit/Code Violation +Tree Trimming/Removal +Roof Repairs +Exterior Repairs +Fencing/Gate +Landscape Cleanup +Landscape Enhancement Needed +Exterior Paint +Other +Exterior Surfaces +Pool Care +Exterior Repairs +Tree Trimming/Removal +Roof Repairs +Architectural +Fencing/Gate +HOA Inspection +Landscape Cleanup +Landscape Enhancement Needed +Exterior Paint +Upholstery Cleaning +Adjustment +EMS Dispatch +EMS Dispatch +EMS Dispatch +Other +Loose +Leaking +Running +Overflow +Other +No hot water +Loose +Leaking +Clogged +Vacant Property +Mechanical Inspection +Property Inspection +Special Cleaning +Window Cleaning +Scheduled Cleaning +NCR Radiant UPS Beeping / Not Functioning +Verifone Commander Cash Drawer Not Functioning +NCR Radiant Register Scanner Not Scanning +NCR Radiant Cash Drawer Not Functioning +NCR Radiant Pin Pad Stylus Not Functioning +Verifone Commander UPS Beeping / Not Functioning +NCR Radiant Receipt Printer Not Printing +Verifone Commander Register Scanner Not Scanning +Verifone Commander Receipt Printer Not Printing +NCR Radiant Register Not Functioning +Verifone Commander Pin Pad Stylus Not Functioning +Verifone Commander Register Not Functioning +Verifone Commander Not Processing on Some Pinpads Inside +NCR Radiant Not Processing on Some Pinpads Inside +PDI Keyboard +PDI Mouse +PDI Monitor +PDI Printer +Belt Printer Communication +Label Printer Not Printing +Printer Not Charging +Label Printer Communication +Access Point Not Functioning +Network Rack +Vestibule Security Lighting +Vestibule Repair/Maintenance +Vestibule Painting +Vestibule Lights +Vestibule HVAC +Vestibule Graffiti Removal +Vestibule Cleaning +Pest Control +Cleaning +Vestibule Security Lighting +Vestibule Cleaning +Pest Control +Lock Box +Landscaping +Cleaning +Security Mirrors +Physical Damage +Painting +Graffiti Removal +Decals +Locks & Keys Room Door +Locks & Keys Exterior Kiosk Door +Unit HVAC +Keys +Electrical +Placement +Other +Lights and HVAC +Other +Sign completely out +Letters out +Other +Sign completely out +Letters out +Signs +Letters out +Interior +Exterior +Cleaning +Window Seal +Cleaning +Hazardous Waste +Confidential Bin +Medical Waste +Shredding Bin +Security Alarm Install New +Metal Detectors +X-Ray Machine +CCTV System +Security Alarm +Key Pad +Security Breach +Card Readers +Parking Access Card +Door Release Button +Investigation +Other +Raccoons/Squirrels +"Other: Purges, Bin Access, Acct. Inquiries" +"Service: Implement New, Change to Existing, Missed" +"Location Change: New, Moved to New Address, Closed" +"Security & Risk: No/Broken Lock, Overfull Bin" +Records Storage +Order/Restock +Paper Shredders +Trolley +Computers +Printer +PA Systems +Time & Date Stamps +Photocopier +Fax Machines +TVs & VCRs +Telephone +Mail Delivery +Ergonomic +Courier +Machine Leaking +Coffee Machine Not Working +Replenish Supplies +Leaking +Filtration Not Working +Need 5 Gallon Bottles +Music +Product Out of Date +Lost Funds +Machine Not Working +Will Not Accept Payment +Machine Empty +External Move +Internal Move +External Move +External Move +Internal Move +Internal Move +External Move +Art Work +Repair +Cleaning +Locks/Keys +Reprogramming Locks +Supply Duplicate Keys +Reprogramming Locks +Timers +Lighting Above 14ft (4.3m) +Security Lighting +Install New +Walkway Lighting +Lighting Below 14ft (4.3m) +Lamps Out +Light Covers/Grates +Lamps Out +Lighting Below 14ft (4.3m) +Install New +Lighting Above 14ft (4.3m) +Cleaning +Water +Not working +No power +Filter +Clog +Reorder/Restock +Restroom +Request Special Cleaning +Window Cleaning +Human Resources +Accounting +Investigate +Account Setup +Account Closure +Interior Plant Care +Mirror +Sign +Other Hardware +Clean out/debranding +Intercom +Pneumatics +Drawer +Lane Lights +Repair/Maintenance +Reconfigurations +New +Repair/Maintenance +Cleaning +Cleaning +Elevator Music +Cleaning +Paint +Will Not Go Up +Install New +Will Not Come Down +Cannot Secure +Remove +Cleaning +Injury +Bio Material +Smoke +First Aid +Natural Disaster +Environmental Assessment +Water Damage +Hazardous Material +Asbestos +Public Demonstration +Fire +Mold +Bomb Threat +Terrorism Incident +Gas +Air Quality +Odors +Ergonomic Assessment +Repair +Paint +Replace +Towing +Security Barrier/Arm +Reserved Parking +"Doors, Windows and Glass" +Roofing and Structure +Exterior Facade +Interior Finishes & Carpentry +Emergency +HVAC +Exterior Landscaping +General Bldg R&M - Interior Light +General Bldg R&M +Roofing and Structure +Lighting +Interior Finishes & Carpentry +LOB Disaster Recovery +"Doors, Windows and Glass" +Lighting +Fire and Life Safety +Electrical and Power +Lighting +"Doors, Windows and Glass" +Escort Needed +Stationary Guard +Other +Data/Cable Pulls +UPS +Timers +Broken Door +Lock Issue +Glass +Install New +Buzzers +Automatic Closures +Mantrap +Video Conferencing +Booking/Scheduling +Schedule +Repair +Setup +Drill Out +Teller Cash Dispenser +Repair/Maintenance +Undercounter steel +Repair/Maintenance +Digilock +Repair/Maintenance +Drill Out +Security Issue +Damaged +Will Not Close +Keypad Issue +Batteries Dead +Unable To Lock/Unlock +Key Broken Off +Will Not Open +Armored Car Key Issue +Repair/Maintenance +Remove +Replace +Other +Not Working +Vault Clean +Night Deposit Clean +Bandit Barrier Clean +Painting +Security Mirrors +Graffiti Removal +Physical Damage +Decals +Locks & Keys Room Door +Locks & Keys Exterior Kiosk Door +Vestibule Lights +Vestibule Cleaning +Vestibule Repair/Maintenance +Cleaning +Vestibule HVAC +Repair +Vestibule Painting +Car Impact +Vestibule Graffiti Removal +Vestibule Security Lighting +Pest Control +Unit HVAC +Electrical +Placement +Keys +Lock Box +Car Impact +Repair +Landscaping +Vestibule Security Lighting +Pest Control +Cleaning +Vestibule Cleaning +Physical Damage +Request New Appliance or Kitchen Fixture +"Not Working, Broken or Damaged" +Clean Unit +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +Pharmacy +Pharmacy +Pharmacy +Pharmacy +Not Working +Repair +Timer Issue +Pre Hurricane Board-up +Post Hurricane Board-up +S5 - Partial Service +Sign completely out +Partially out +Face damage +Photocell / Time Clock +Escort +Tarping Needed +Water leaking +Lighting issue +Handle +Gasket +Door +Cooling issue +Water leaking +Door +Cooling issue +Repair +Faucet +Drain +Faucet +Drain +Faucet +Drain +Overheating +Not Heating +Not Filling +Not Heating +No Power +Control Panel +Turn Management Fee +Wall +Equipment +Counters / Tables +Front of House +Back of House +Walls +Overhang +Roof +Parking Lot Lighting +Landscape Lighting +Restroom +Kitchen +Dining Room +Stuck +Weather stripping +Laminate Peeling/Buckling +Laminate Peeling/Buckling +New Install +New Install +New Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +Other +Noisy +Not Working +Not Working +Other +Not Working +Internal Network/Wiring +Verifone Commander Site Controller Down +Fiscal Site Controller Down +Gilbarco Passport Site Controller Down +NCR Radiant Site Controller Down +Fiscal Cash Drawer Not Functioning +Gilbarco Passport Cash Drawer Not Functioning +Fiscal Not Processing On Some Dispensers Outside +Gilbarco Passport Not Processing On Some Dispensers Outside +NCR Radiant Not Processing On Some Dispensers Outside +Verifone Commander Not Processing On Some Dispensers Outside +Fiscal Not Processing On All Dispensers Outside +Gilbarco Passport Not Processing On All Dispensers Outside +NCR Radiant Not Processing On All Dispensers Outside +Verifone Commander Not Processing On All Dispensers Outside +Fiscal Not Processing On All Pin Pads Inside +Gilbarco Passport Not Processing On All Pin Pads Inside +NCR Radiant Not Processing On All Pin Pads Inside +Verifone Commander Not Processing On All Pin Pads Inside +Fiscal UPS Beeping / Not Functioning +Gilbarco Passport UPS Beeping / Not Functioning +Fiscal Register Scanner Not Scanning +Gilbarco Passport Register Scanner Not Scanning +Fiscal Register Not Functioning +Gilbarco Passport Register Not Functioning +Fiscal Receipt Printer Not Printing +Gilbarco Passport Receipt Printer Not Printing +Fiscal Pin Pad Stylus Not Functioning +Gilbarco Passport Pin Pad Stylus Not Functioning +Fiscal Not Processing on Some Pinpads Inside +Gilbarco Passport Not Processing on Some Pinpads Inside +Attic +Attic +Attic +Attic +Sign completely out +Other +Face damage +4+ letters out +1-3 letters out +Cracked/damaged +Loose from building +Cracked/damaged +Loose from building +Too Hot +Not Cooling +Water leaking +Other +Lighting issue +Handle +Door +Cooling issue +Water leaking +Other +Lighting issue +Handle +Door +Cooling issue +Leaking +Other +Too Hot +Won't stay lit +Too Hot +Too Hot +Other +Not Heating +No Power +Coffee Counter +Other +Dishwasher Fan +Fan +Oven +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Laminate +Hinges/Handle +Edgebanding +Door broken off +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Hinges/Handle +Drawer front +Glides +Edgebanding +Structure +Laminate +Edgebanding +Ballast +Framboard +Sewage +ALT LVT Bill to Construction +Repair +Replace +Repair +Replace +Installation +Decals/Promotional signage +Frame Issue +Shattered +Cracked +Leaking Water +Window Film +Frame Issue +Shattered +Cracked +Chair rail +Doctor's Office +Doctor's Office +Doctor's Office +Doctor's Office +Doctor's Office +Replace +Repair +Inspection +Rekey +Other +Key broken off +Handle/Door Knob +Scrub and Recoat Bill to Construction +Other +Air Quality Test +Roof Report +Won't Lock/Unlock +Rekey +Marketing +Facility +ID Price Signs +MPD/Dispenser +Exposed Wiring +Under Counter or Ceiling +RO/Reclaim Equipment +Ro/Reverse Equipment +Spraying +Equipment Room +Major Leak +Minor Leak +Water Conditioner +Filters +Not Operating +Verifone Inoperable +VCR Not Operating +Investigation +Work Needed for USE Visit +Oil-Water Separator WS 1 +Gas Water +Corrosion Removal- STP sumps +Gas Water - Solid/Liquid Waste Removal +Cathodic Protection Repair or Test +Corrosion Removal- Other +Liquid Reported in Dispenser Pans +Liquid Reported on Sump/Spill Bucket +Vapor Recovery Needs Repair +Containment Equipment +Fuel Polishing - Diesel Microbes +Gas Piping +Fuel Polishing +Distribution Box Not Operating Properly +Damaged/Torn Entry Fittings +Sub Pumps Not Pumping +Needs Repair/Replacement +Not Operating +HRM Reconciliation Warning +Missing Delivery Ticket Warning +AccuChart Calibration Warning +Annual Test Warning +Gross leak detected +High Water Warning +Cold Temperature Warning +CSLD Rate Increase Warning +HRM Reconciliation Alarm +Invalid Fuel Level Alarm +Overfill Alarm +Periodic Leak Test Fail Alarm +Periodic Test Alarm +High Product Alarm +High Water Alarm +Leak Alarm +Annual Test Alarm +Maximum Product Alarm +Annual Test Fail Alarm +Probe Out Alarm +Gross Test Fail Alarm +Sudden Loss Alarm +System Security Warning +ROM Revision Warning +PC(H8) Revision Warning +Tank Test Shutdown Warning +Autodial Alarm Clear Warning +Software Module Warning +Autodial Delivery Report Warning +System Clock Incorrect Warning +Input Setup Data Warning +Autodial Service Report Warning +External Input +Transaction Alarm +Battery Off +Protective Cover Alarm +Remote Display Communications Error +Input Normal +System Self Test Error +Too Many Tanks +EEPROM Configuration error +LD configuration error +System Device Poll Timeout +Other +Car Impact +Repair +Sign Completely Out +Partial Outage +Face Damage +Not Operating Properly +Completely Down +Splitter request for POS +Simmons Box Not Operating Properly +Simmons Box Onsite Support Needed +Short Alarm +Low Liquid Alarm +Fuel Alarm +Water Alarm +Sensor Out Alarm +High Liquid Alarm +Water Out Alarm +Setup Data Warning +Liquid Warning +Remove/Relocate within an Open Store +Remove/Relocate within an Open Store +Check Cable Integrity +ATM Project +Money Order Machine +Lift Not Functioning +UPS Beeping +Gift Card Processing +Receipt Printer +Stylus +Not Functioning +Money Order +Pin Pad +Scanner +Check Reader +Not Operating Properly +Completely Down +Upgrade/Install/Remove +Screen Calibration (non Store View) +Speed Pass Inoperable +Hardware (non Store View) +Ruby/Sapphire Not Operating +Passport - Unable to sell Gas +Pump Issue (non Store View) +Nucleus Not Operating +Power Outage (non Store View) +Ruby/Sapphire - Unable to sell Gas +Nucleus - Unable to sell Gas +Won't Print +Cash Report (CRI) not operable +Password Reset (non Store View) +Network Issue (non Store View) +Passport Not Operating +Missing Parts (non Store View) +Software (non Store View) +Service Needed +Stylus Needed +Remove/Relocate +Car Wash POS Adjustment Needed +Programming +Fuel POS Adjustment Needed +Replace +Remove +Face Damage +Partial Outage +Drainage +Verify Power Source +Under Counter Repair +Remote Repair +Replace +Sparking +Missing Cover +Diesel +Premium +Kerosene +Cross Drop +Regular +Midgrade +DSL Low Flash +Gas Octane +Handle/Door Knob/Chime +Lighting +Making Noise +Too Warm +Major Water Leak +Minor Water Leak +Monitor not operating properly +Batman Cables Not Working Properly +Not Operating Properly +Not Operating Properly +Damaged +Visual Issue +Blank +Display +Relocate +Continuous Pump On Warning +Setup Data Warning +Selftest Invalid Warning +High Pressure Warning +Periodic Line Test Fail Alarm +Periodic Test Alarm +Periodic Pump Test Fail Alarm +Periodic Test Fail Alarm +Periodic Pump Selftest Fail Alarm +Periodic Test Warning +Periodic Selftest Fail Alarm +LLD Periodic Warning +LLD Test Fault GRS +LLD Per Test Fault +LLD Periodic Alarm: .2gph +LLD Pressure Alarm - Sub pump (3 Attempts) +Gross Pump Test Fail Alarm +Gross Selftest Fail Alarm +Gross Line Test Fail Alarm +Gross Test Fail Alarm +Gross Pump Selftest Fail Alarm +Annual Pump Selftest Fail Alarm +Annual Selftest Fail Alarm +Annual Test Alarm +LLD Annual Alarm +LLD Annual Test Fault +Annual Line Test Fail Alarm +Annual Pump Test Fail Alarm +Annual Test Fail Alarm +Annual Test Warning +Shutdown Alarm +Self Test Alarm +Communications Alarm +Sensor Open Alarm +Continuous Pump On Alarm +Sensor Short Alarm +Line Leak Shutdown +Repair +Kiosk Display +Bump Bar +Repair +Display +Kiosk Printer +KPS Printer +Remove/Relocate +Major Water Leak +Minor Water Leak +Cannot Brew +Parts +Not Operating +Relocate +Warmer Plate +Less than Half of Brewers Down +Minor Water Leak +Major Water Leak +Install New +Half or More Brewers Down +Parts +Timer +Urns +Battery Replacement +HES Work Needed +Smart Sensor Water Warning +Collection Monitoring Degradation Failure warning +Smart Sensor Low Liquid Warning +Flow Performance Hose Blockage Failure warning +Smart Sensor High Liquid Warning +Containment Monitoring Gross Failure warning +Smart Sensor Setup Data Warning +Smart Sensor Fuel Warning +Vapor Processor Status Test warning +Containment Monitoring Degradation Failure warning +Vapor Processor Over Pressure Failure warning +Containment Monitoring CVLD Failure warning +Setup Fail warning +Sensor Temperature Warning +Stage 1 Transfer Monitoring Failure warning +Collection Monitoring Gross Failure warning +Smart Sensor Fuel Alarm +Containment Monitoring Degradation Failure alarm +Smart Sensor Low Liquid Alarm +Containment Monitoring CVLD Failure alarm +Vapor Flow Meter Setup alarm +Missing Hose Setup alarm +Smart Sensor High Liquid Alarm +Improper Setup alarm +Missing Vapor Pressure Sensor alarm +Smart Sensor Communication Alarm +Containment Monitoring Gross Failure alarm +Vapor Processor Over Pressure Failure alarm +Missing Vapor Flow Meter alarm +Smart Sensor Fault Alarm +Collection Monitoring Gross Failure alarm +Smart Sensor Install Alarm +Communication Loss alarm +Flow Performance Hose Blockage Failure alarm +Missing Vapor Pressure Input alarm +Sensor Out alarm +Vapor Processor Status Test alarm +Missing Tank Setup alarm +Collection Monitoring Degradation Failure alarm +Smart Sensor Water Alarm +Missing Relay Setup alarm +Setup Fail alarm +Verify Proper Installation and Report Findings +Not Printing +ATG IP Comm Failure +Automatic Tank Gauge (Atg) Is In Alarm +Auto Dial Failure +Automatic Tank Gauge is not Testing +Not Printing +Automatic Tank Gauge (Atg) Is In Alarm +Auto Dial Failure +ATG IP Comm Failure +Automatic Tank Gauge is not Testing +Vendor Meet Needed +Team Lead Escalation Needed +Installation +Trip Hazard +Repair +Environmental Remediation +Drum Removal +Fuel Spill +Major Damage/Safety Issue/Needs Repair +Minor Damage/ Non Safety issue/Needs Repair +Repair or Replace Gas Pump Toppers +Repair or Replace Windshield Washer Bucket +Not Dispensing On At Least 50% Of Dispensers +Not Dispensing On Less Than 50% Of Dispensers +Relocate +Vendor Meet +Brixing +Drip Tray +Flavor Change +Making Noise +Half or More Barrels Down +Minor Leak +Less than Half of Barrels Down +CO2 Not Operating +Drain Clogged +Frost Flavor Change +CO2 Out +Major Leak +Lights Out +Bib Pumps +Not Dispensing Ice +Minor Leak +Major Leak +Relocate +Vendor Meet +Lights Out +Drain Clogged +CO2 Out +Less than Half of Flavors +CO2 Not Operating +Minor Leak +Brixing +New Drain +Bib Pumps +More than Half of Flavors +Making Noise +Parts +Drip Tray +Flavor Change +New Soda Drain +Ice Maker +Major Leak +Other +Recharge/Repair/Replace +Unit Down +Major Water Leak +Minor Water Leak +Not Operating +Verify Installation +Precision Tank Fail +Parts Replacement Billing +Dynamic Backpressure Fail +ATG Certification Fail +Stage I Fail +Shear Valve Inoperable +Pressure Decay Fail +Testing +Line Leak Detector Fail +Corrosion Inspection Fail +BIR Investigation +Department of Agriculture Inspection Assistance +Spill Bucket Fail +Air to Liquid Fail +Secondary Containment Fail +Precision Line Fail +Compliance Inspection +Drop-Tube Integrity Fail +Dep. of Environmental Protection Inspection Assistance +Stage 2 Fail +Shear Valve Fail +UST Fail +Not Responding - Within Temps +Defrost Recovery - Within Temps +Power Fail Temp +High Box Temp Alarm - Within Max +Not Responding - Above Max Temps +Low Box Temp Alarm - Below Standards +Pressure Low Temp - Above Max STD +Communication Failure +Pressure Low Temp - Within STD +Start Up Fail +Low Box Alarm - Below Max Temps +Defrost Recovery - Above Max Temps +High Box Temp Alarm - Above Max +Low Bow Temp Alarm - Within Standards +Pressure High Temp - Above Max +Pressure High Temp - Within STD +Repair +Charge Dispute +Dispute Determination Rejection +Copy of Invoice Required +Client Inquiry - General +Charge Explanation Required +Work Needed Per Disc/Market Charge +Need Repair +Not Processing On All Terminals Inside +Not Processing On Some Terminals Inside +Not Processing Inside Or Outside +Not Processing On Some Dispensers Inside +Not Processing On Some Dispensers Outside +Not Operating +Install New +Major Water Leak +Making Noise +Gasket +Door +Minor Water Leak +Too Warm +Install +Repair +Warranty Repairs +Repair +Install Monitor +Repair +Out of Chemicals +Relocate +Install New +Not Operating +Lights Out +Major Water Leak +Parts +Minor Water Leak +Face Damage +Partial Outage +Sign Completely Out +Won't Accept Credit - Debit Card +Not Turning +Burning Smell +Repair +BIR Close Shift Warning +BIR Threshold Alarm +BIR Daily Close Pending +BIR Setup Data Warning +BIR Close Daily Warning +BIR Shift Close Pending +Other +Cleaning +Door +Lighting +Mouse Not Functioning +Timeclock Application +Docking Station +Phone Line +UPS Beeping +iPad Not Functioing +Belt Printer +Scanner Data +Monitor Not Functioning +Data Polling +Printer Charge +Scanner Malfunction +Timclock Entries +Printer Not Printing +App Issues +Printer Not Communicating +PDI Malfunction +Zenput +iPad Missing +Scanner Charge +Keybord +AQIP/CMR Warranty Repairs +PDI Enterprise +Sales Report +Grocery Order +Operations Dashboard +Timeclock +Store Audit +Receipt Finder +Cashier Analysis +PDI Focal Point +Drawer Count +Access Issue +Portal Issue +Not Operating +Graffiti +Secondary Containment +Calibration +Damaged LED Window +Testing +Decals/Signage +Hanging Hardware +Vapor Recovery Dry Break Repair +Records +Spill Buckets +Hazardous Materials +Leaking Dispenser Meter/Union/Filter +Dispenser(s) Down- Regulatory Inspection +Automatic Tank Gauge +Licenses and Permits +Verify Installation +Temp Cooling/Heating +Not Responding - Above Max Temps +Copressor Short Cycling - Within Temps +No Communication - Within Temps +Compressor Stage 1 - Within Temps +Blower Fan - Above Max Temps +Pressure High Temp - Within Standards +Compressor Stage 2 - Within Standards +Blower Fan - Within Tems +Heating Performance Temp - Below Max +Heating - Within Temps +Compressor Locked - Above Max Temps +Heating Performance Temp - Within Standards +Heating Stage 1 - Within Temps +Compressor Not Coming On - Above Max Temps +Not Responding - Within Temps +No Communication - Temps Unknown +Compressor Short Cycling- Above Max Temps +Pressure High Temp - Above Max +Compressor Stage 1 - Above Max Temps +Super Heat - Below Max STD/Above Max STD +Pressure Low Temp - Within Standards +Compressor Stage 2 - Above Temps +Blower Fan - Intermittenly Within Temp +Pressure Low Temp - Above Max +Heating - Below Max Temps +1 or More Stages of Heat Not Coming On +Blower Fan - Intermittenly Above Temp +Long Compressor Runtime - Above Max Temps +No Communication - Above Max Temps +Compressor Not Coming On - Within Temps +Upgrade +Partial Outage +Additional Service WS 3 +Additional Service WS 4 +Additional Service WS 1 +Additional Service WS 2 +Vendor Meet +Repair +Drain Repair/Cleaning +Drain Overflow/Flooding +Drain Pump Out +Vendor Meet +ADA Compliance +Additional Charges- Note Details in Description +Repair +Deli - Minor Water Leak +Deli - Making Noise +Deli - Unit Down +Deli - Door +Deli - Major Water Leak +Minor Water Leak +Making Noise +Remove/Relocate +Duke Oven Down +Duke Oven Not Operating +Sandwich Oven Not Operating +Sandwich Oven Down +Unox Parts +Unox Not Operating +Unox Completely Down +Doyon Not Operating +Doyon Completely Down +Doyon Parts +Less than Half Lighting +Making Noise +Partial Lighting Interior +Half or More Lighting +Minor Water Leak +Gasket +Taqueria Emergency Repair +Taqueria Critical Repair +Minor Leak +Major Leak +Trip Hazard +Major Water Leak +Low Pressure +Minor Water Leak +Major Leaking +Low Pressure +Minor Water Leak +Major Water Leak +Damaged +Face Damage +Sign Completely Out +Partial Outage +Emergency Repair Subway +Emergency Repair Taqueria +Critical Repair Taqueria +Critical Repair Subway +Vendor Meet +Taqueria Partial Outage +Subway Partial Outage +Taqueria Complete Outage +Subway Complete Outage +Escalation +EMS Upgrade +Sales Floor - Burning Smell +Sales Floor - Damaged +Sales Floor - All +Sales Floor - Partial +Office - Burning Smell +Office - Partial +Office - All +Office - Damaged +All - Outage +All - Burning Smell +Exit Sign - Damaged +Exit Sign - Out +Emergency Exit Lights +Bathroom - Damaged +Bathroom - All +Bathroom - Burning Smell +Bathroom - Partial +Backroom - Burning Smell +Backroom - Partial +Backroom - All +Backroom - Damaged +ATM - Face Damage +ATM - Partial +ATM - All +Repair +Pump Out WS 7 +Exterior Pump Out +Interior Pump Out WS 1 +Exterior Pump Out WS 4 +Interior Pump Out WS 5 +Interior Pump Out +Pump Out WS 5 +Pump Out WS 3 +Exterior Pump Out WS 5 +Interior Pump Out WS 3 +Exterior Pump Out WS 2 +Interior Pump Out WS 2 +Pump Out WS 2 +Pump Out WS 13 +Exterior Pump Out WS 3 +Routine Maintenace +Exterior Pump Out WS 1 +Repair +Making Noise +Trip Hazard +Remove/Relocate +Minor Water Leak +Major Water Leak +Door +Gasket +Cleaning +Clean Return and Discharge +Remove/Relocate Cigarette Merch +ZEP Unit +Trash Can +Shelving +Other +More than 5 Dryers +Less than Half Washers +Less than Half Dryers +Less than 5 Washers +More than 5 Washers +Less than 5 Dryers +Lottery Glass +Counters +Adjust +Cigarette Merch Operation +Cigarette Merch Repair +Cabinetry +Deli Warmer +Sanden Install +Sanden Lights +Sanden Not Operating +Sanden Parts +Pizza Warmer +Remove/Relocate Sanden +Minor Water Leak +Major Water Leak +Making Noise +Lighting +Relocate/Remove +Septic Tank WS1 +Septic Tank WS2 +Wastewater Treatment WS1 +Septic Tank WS6 +Cleanout +Septic Tank WS 12 +Septic Tank WS 8 +Septic Tank WS3 +Septic Tank WS5 +Aerobic System WS 1 +Wastewater Treatment Plant Materials WS 1 +Septic Tank WS 10 +Septic Tank WS 11 +Odor +Repair +Preventative Maintenance +Deli - Cleaning +Deli - Inspection +Remove/Relocate +Lighting +Major Water Leak +Minor Water Leak +Making Noise +Lighting +Making Noise +Major Water Leak +Minor Water Leak +Maintenance +Partial Outage +Well Water Materials +Monitoring +Making Noise +Minor Water Leak +Deli - Door +Deli - Major Water Leak +Deli - Minor Water Leak +Deli - Not Holding Temp +Install +Repair +Paint +Treatment Needed +Vendor Meet +Verify Installation +Taqueria - Emergency Repair +Subway - Emergency Repair +Taqueria - Critical Repair +Subway - Critical Repair +Escalation +Won't Vend Change +Connectivity +Vendor Meet +Repair +Remove/Relocate +Network Issue +Not Communicating +Parts +Repair +Remove/Relocate +Repair +Deli - Not Holding Temp +Deli - Door +Deli - Major Water Leak +Deli - Minor Water Leak +Escalation +Taqueria Emergency Repair +Subway Emergency Repair +Taqueria Critical Repair +Subway Critical Repair +Taqueria Heated Equipment Emergency +Subway Heated Equipment Emergency +Taqueria Heated Equipment Critical +Subway Heated Equipment Critical +Vendor Meet +Donut Filler +Remove +Add +Display Cooker Down +Display Cooker Not Operating +Deli Grill Down +Deli Grill/Griddle/Flat Top +Scale +Rice Cooker +Oatmeal Maker +Grill Press +Egg Cooker +Double Boiler +Bread Slicer +Temp Taker +Data Issue +Not Printing +Remove/Relocate +Major Water Leak +Door +Lights +Minor Water Leak +Partial Outage +Damaged +Will Not Turn Off +Timer Issue +Electric Vehicle Charge Issue +Liquid Propane Gas Issue +CNG Dispenser/Plant Issue +FCTI +Wiring +Cardtronics +Repair +Cosmetic Repair +Outlet +Power Source Needed +Instability +Project +Non Electrical Safety Issue +No Power/Safety Issue +Floor/Wall Repair +Trucker Loyalty +Grocery Loyalty +Freestyle Unit +Tea Tower +Not Operating +All Not Working +All Operational +One TV +TV Repair +Nozzle Needs Repair +Entire Grade Down +Repair Emergency Shut Off Switch +More than half of fueling positions down +Need Dispenser Key and/or Change Lock +Dispenser Won't Print Credit/Debit Receipt +Nozzle Needs Handwarmer +Repair Dispenser - No Shutdown +Drive Off - Hose Disconnected +Physical damage only still pumping +Slow Pumping (Filters) +Intercom Not Operating Properly +Won't Accept Credit - Debit Card +Need Decals +Dispenser Damaged by Vehicle +All Dispensers Down +Swivel Needs Repair +Dispenser Broken Into (Possible Theft) +Hose Needs Repair +Less than half of fueling positions down +Calibrate Dispenser +Graffiti +"Not Working, Broken, or Damaged" +Credit Card Acceptor +Change Machine +Bill Jam +WS 1 +Pump Out WS1 +Not Operating +Pump Out WS2 +Reporting Enable/Disabled +Softener WS 1 +Wall Jack +Wisco Install +Wisco Lighting +Wisco Parts +Roller Grill Install +All Roller Grills +Roller Grill Parts +Pastry Case Lights +Chili Cheese Parts +Chili Cheese Install +Verify Beverage Equipment Installation +Verify Food Equipment Installation +Wisco - Relocate/Remove +Remove/Relocate Pastry Case +Remove/Relocate Chili Cheese +Install Siding +Will Not Open +Will Not Close +Batteries Dead +Rekey +Palm Tree Trimming +Running Continuously +Not Running +Service Needed +Schedule +Rug Rack +Emergency Lighting Deficiency +Exit Sign Deficiency +Other +Other +Other +Other +Lines Other +Lines Leaking +Ceramic Tile and Grout Cleaning +Awning Cleaning +Repair +Replace Batteries +Wont Lock/Unlock +Rekey +Will Not Open +Latch/Closer/Hinge issue +Broken Door +Door Frame Issue +Replace +Repair +Replace +Repair +Replace +Repair +New Equipment Install +Security Issue +Unable To Lock/Unlock +Keypad Issue +Armored Car Key Issue +Site Transfer +Upright Refrigerator +Upright Freezer +Back Room Freezer +Coffee Brewer +Cappucino Machine +Fountain Dispenser +Walk In Freezer +Vault Refrigeration +Ice Merchandiser +Ice Maker +Work Table +Tortilla Press +Table Top Fryer +Steamer +Oven/Proofer +Hot Plate +Henny Penny +Grill/Griddle/Flat Top/Oven/Hot Plate Combo +Grill/Griddle/Flat Top/Oven Combo +Grill/Griddle/Flat Top +Gas/Electric Fryer +Egg Cracker +Dough Mixer +Dough Divider +Wisco +Vertical Hatco +Sandwich Case +Roller Grill +Pastry Case +Novelty Case +Microwave +Hatco +Condiment Station +Chili Cheese Unit +FCB 4 Barrel +FCB 2 Barrel +Parking Structure +Facade +Parking Structure +Facade +Parking Structure +Facade +Preventative Maintenance +No Power +Not Working +Inspection +Replace +Repair +Inspection +Preventive Maintenance +Replace +Repair +Sweeping +Stripping +Striping +Snow Request +Severe cracks +Sealing +Potholes +Patching +Other +Missing Grates +Handrail/Railing Repair +Garbage Clean Up +Drainage problem +Curb/Car/Wheel stop +Condensing Unit +Preventative Maintenance +Replace +Repair +Condensing Unit +Preventative Maintenance +Replace +Repair +Replace +Storage/Back of House +Storage/Back of House +Storage/Back of House +Storage/Back of House +Storage/Back of House +Storage/Back of House +Not Working +Leaking +Not Heating/Won't Turn On +Knob Issue +Replace Cord +Not Heating/Maintaining Temperature +Missing Knob +Leaking +Maintenance Needed +Damaged +Repair +New Equipment Install +Wheels/Maintenance +Override Switch +Schedule Change +Parts Ordering +Communication Loss +Schedule Preventative Maintenance +Perform Preventative Maintenance +Schedule Preventative Maintenance +Perform Preventative Maintenance +Schedule Preventative Maintenance +Perform Preventative Maintenance +Schedule Preventative Maintenance +Perform Preventative Maintenance +Pest Repairs - Reinvestment +Pest Repairs - Reinvestment +Schedule Preventative Maintenance +Perform Preventative Maintenance +Other +Deficiency +Will Not Open +Will Not Close +Replace +Repair +Remove +Install New +Will Not Open +Will Not Go Up +Will Not Come Down +Remove +Not Sealing +Install new +Cannot secure +Tipping Building +Scale House +Mechanical Room +Maintenace Building/Shop +Locker Room +Tipping Building +Scale House +Mechanical Room +Maintenace Building/Shop +Locker Room +Tipping Building +Scale House +Mechanical Room +Maintenace Building/Shop +Locker Room +Tipping Building +Scale House +Mechanical Room +Maintenace Building/Shop +Locker Room +Tipping Building +Scale House +Mechanical Room +Maintenace Building/Shop +Locker Room +PM +POS Gilbarco +POS Verifone +Pinpad Ingenico +Pinpad Verifone +POS NCR +Fuel Controller +Not Working +New Install +Laboratory +Laboratory +Striping +Rebuild +Breakdown +Replace +Repair Damaged +Warehouse +Laboratory +Not Working/Broken/Damaged +Parts +Restroom fan +Laboratory +Laboratory +Laboratory +Laboratory +Laboratory +Laboratory +Laboratory +First ProCare Visit +Not Working +Snow Request +WPH Managed +Other +Semi-Annual +Annual +"Not Working, Broken or Damaged" +Missing/Detached +Interior Leaking +Flaking +Cracked/Uneven +Broken or Damaged +Not Heating/Working Properly +Leaking +Finish/Surface +Broken or Damaged +Backing Up +Preventive Maintenance +Tub/Tub Surround/Shower Leaking +Shower Valve/Head +Pipes Broken or Leaking +Flooding/Sewer Backup +Faucet Broken or Leaking +Leaking +Finish/Surface +Broken or Damaged +Repair +"Walls - Cracked, Broken or Damaged" +Floor lifted or cracked +Driveway/Patio/Sidewalk +Weed removal +Water Extraction/Dryout +Sub Floor +Roof Truss +Framing +Foundation +Exterior Deck +Damaged +Detached/Missing +Floor Stains or Spots +Wall Stains or Spots +Ceiling Stains or Spots +Drain Pop Up +Other Shelf +Towel Rack +Mirror +Toilet Paper Holder +Burning Smell +Sounding Alert +Failed Test +Detached/Missing +Smoking or Sparking +Loose or Damaged +Fan Not Working +Fan Balancing +Light Not Working +Fan Not Working +Screens +Frame Issue or Leak +Damaged +Door Adjustment or Weather Stripping +Not Working +Leaking +Physical Damage +Physical Damage +Physical Damage +Physical Damage +Physical Damage +Physical Damage +Making Noise +Physical Damage +Physical Damage +Airflow Issue +Programming Help Needed +Physical Damage +Snow Request +Earthquake +Fire +Snow +Flood +Tornado +Hurricane +PM +Water Diversion +PM +5 Year Inspection +PM +5 Year Inspection +Repair +Inspection +Missing +Cleaning +Damaged +Fuel Inspection +Software Issue +Repair +Chime +Control +General +Emergency +Wireless Device +Camera +UPS/APC +Security Monitor +Speaker and Microphone +Security Phone +System Down +DVR - General +DVR - Critical +Misc. Parts +Gasoline Parts +Countertop Parts +Display Parts +Security and Safe Parts +Restaurant Equipment +Food Equipment +Cold Beverage +Hot Beverage +Schedule Preventative Maintenance +Perform Preventative Maintenance +GLO Service +Perform Preventative Maintenance +Perform Preventative Maintenance +Perform Preventative Maintenance +Perform Preventative Maintenance +Perform Preventative Maintenance +Perform Preventative Maintenance +Perform Preventative Maintenance +Perform Preventative Maintenance +Inspection +Schedule Preventative Maintenance +Inspection +Service +Service +Schedule Preventative Maintenance +Schedule Service +Repair +Schedule Preventative Maintenance +Service +Not Working +Schedule Preventative Maintenance +Inspection +Repair +Inspection +Schedule Preventative Maintenance +Production Area +Schedule Preventative Maintenance +Service +Schedule Service +Service +Not Working +Schedule Preventative Maintenance +Service +Schedule Preventative Maintenance +Repair +Not Working +Open Top Empty and Return +Open Top Pickup +Other +Damaged +Lock +Lock +Open Top Request +Open Top Empty and Return +Open Top Pickup +Damaged +Other +Not Working +Re-Certified +Icing Up +Other +Cooling issue +Door +Other +Gasket +Icing Up +Glass +Water leaking +Handle +Cooling issue +Lighting issue +Cooling issue +Door +Other +Cooling Issue +Door +Other +Other +Door +Water Leaking +Glass +Handle +Lighting Issue +Cooling Issue +Water Leaking +Handle +Lighting Issue +Cooling Issue +Other +Door +Other +Shut Down +No Power +Not Cooling +Gasket Repair/Replacement +Hinges/Latch Broken +Repair +Icing Up +Not Maintaining Temp +Fan Not Working +Refrigerated Truck +Water Leaking +Refrigerated Truck +Water Leaking +Icing Up +Other +Rekey +Wont Lock/Unlock +Handle/Door Knob +Key Broken Off +Rekey +Other +Dimming System +Broken Light Fixture +Track Lighting +Not Heating +Controls Not Working +Cleaning +Other +Gasket +Door/Handle Issue +No Power +Leaking +Leaking +Other +Shut Down +No Power +Not Heating +Install +Not Heating +Other +Shut Down +Other +Shut Down +Heat Strip Not Working +Other +No Power +Not Heating +Controls Not Working +Water in Pan +Door/Handle Issue +No Power +Not Heating/Lighting +Other +Leaking +Other +Replace +Not Heating +Not Working +Bottom Plate +Splatter Guard +Sparking +Oil Shuttle +Booster Heater +Damaged +Replace +Sound/Music/PA Equipment +CCTV Camera System +Phone/Telecommunications +Television +Antimicrobial Treatment +Poor Taste +Other +Damaged +Poor Temperature +Water in Lines +Tower/Tap Repair +Mechanical Room +Vestibule Heater +Critical Response +Paint +Weather Stripping +Latch Closer Issue +Handle/DoorKnob/Chime +Dragging +Door Frame Issue +Will Not Close +Will Not Open +Door Slams +Broken Door +Paint +Weather Stripping +Latch Closer Issue +Handle/DoorKnob/Chime +Dragging +Door Frame Issue +Will Not Close +Will Not Open +Door Slams +Broken Door +Paint +Weather Stripping +Latch Closer Issue +Handle/DoorKnob/Chime +Dragging +Door Frame Issue +Will Not Close +Will Not Open +Door Slams +Broken Door +Paint +Weather Stripping +Latch Closer Issue +Handle/DoorKnob/Chime +Dragging +Door Frame Issue +Will Not Close +Will Not Open +Door Slams +Broken Door +Paint +Weather Stripping +Latch Closer Issue +Handle/DoorKnob/Chime +Dragging +Door Frame Issue +Will Not Close +Will Not Open +Door Slams +Broken Door +Paint +Weather Stripping +Latch Closer Issue +Handle/DoorKnob/Chime +Dragging +Door Frame Issue +Will Not Close +Will Not Open +Door Slams +Broken Door +Railing +WPH Managed +Immediate Response +Non-Urgent Response +Other +Slab Issue - Immediate Response +Slab Issue - Non-Urgent Response +Other +LED Lighting +Lighting +Hi Rise All Out +Hi Rise Partial Out +LED All Out +LED General Issue +LED Partial Out +General Issue +Posting Issue +Cooling Issue +Door +Glass +Handle +Lighting Issue +Water Leaking +Repair +Not Holding Temp +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +WIC Upgrades +Testing Repairs +Containment +Disptestrepair +Ldrepair +Linerepair +Tankrepair +Techmeet +Vrsystem +ATGtestrepair +Sump Inspection +Sales Tour +Retest +Hood Insp +Quality Assurance +Pre-Inspection +Power Washing +Notice Of Violation +New Equipment +Warehouse +Leak Detection +Inventory Variance +End Of Month +Seven Day +Ten Day +Deficiency +Hanging Hardware Replacement +Disp Cal +Disp Filt +Closed +Closed Facility Upkeep +Divestment +Dispenser Calibration +Diamond Sign Relamp +Construction Walk-Thru +Ceiling Inspection +Canopy Sealing +Bathroom Upgrades +FCB +All Data Missing +Partial Data Missing +Clogged +Leaking +Loose +No Hot Water +Overflow +Running +Leaking +"Not Working, Broken, or Damaged" +Other +Other +Other +Other +Spray Nozzle Leaking +Spray Nozzle Not Working +Spray Nozzle Leaking +Spray Nozzle Not Working +Stand Alone +Rapid Eye Cameras +Phone Lines +Payspot +Passbox +Gas TV +Kitchen System Kitchen Side - Kprinter +Programming - Reporting +Programming - User Assistance +Single Register - Sreg Down +Single Register - Sreg Gen +All Registers +Branded Food Programs +End Of Day +Kitchen System +Programming +Single Register +Technician Dispatch +All Registers - Reg Down +All Registers - Reg Gen +All Registers - Stuck Sale +Kitchen System Kiosk Equipment - Kiosk Gen Issue +Kitchen System Kiosk Equipment - Pricing Issue +Kitchen System Kitchen Side - Kbumpbar +Kitchen System Kitchen Side - Kcontroller +Kitchen System Kitchen Side - Kmonitor +Electronic Safes +Digital Media +CP Outside +CP All +CP Inside +Loyalty Processing +Application PDI Ent - RMS Security +Hardware - Grocery Handheld +Hardware - Mgr Tablet +Hardware - PC +Hardware - PC Down +Hardware - Wallclock +Application +Pricebook - Audit Prep +Hardware +Pricebook - Grand Opening +Network Access +Pricebook - Pricebook Gen +Pricebook +Application - Automated Fuel +Application - Cashier Analysis +Application - CBT +Application - Drawer Count +Application - Email +Application - Grocery +Application - Lottery +Application - Maximo +Application - Money Order Down +Application - New Hire +Application - PDI Ent +Application - Portal +Application - Sapphire +Application - Signs +Application - SSCS +Application - Timeclock +Application Automated Fuel - AFP Crit +Application Automated Fuel - AFP Emer +Application Grocery - Inventory +Application Grocery - Order +Application Grocery - Store Assistant Ordering +Application PDI Ent - RMS DSR +Application PDI Ent - RMS Reporting +ATM +Critical Response +Immediate Response +Routine Response +Non-Urgent Response +All Lamps Out +Multiple Lamps Out +1 Lamp Out +Control Panel Not Working +Door/Handle Issue +No Power +Not Heating +Shut Down +No Power +Paddle Won't Spin +Shut Down +Not Working/Broken/Damaged +Not Working/Broken/Damaged +Major Repair +Not Working/Broken/Damaged +Minor Repair +Not Working/Broken/Damaged +Not Working/Broken/Damaged +Emergency Repair +Major Repair +Minor Repair +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +Preventative Maintenance +Installation +Other +Deficiency +Batteries Dead +Other +Dumbwaiter +Non-Urgent Response +Routine Response +Damaged - Non-Urgent Response +Damaged - Immediate Response +Critt&S +Emert&S +Impressed Current +Nonemert&S +Sumps +Tank Cleaning +Tank Monitor +Tank Monitor Alm +Vapor +Impressed Current - AC Light Off +Impressed Current - Current Out +Impressed Current - Transformer Off +Impressed Current - Voltage Out +Slectdispenser - Dispsecurity +Slectdispenser - Hanginghardware +Slectdispenser - Hitdispenser +Slectdispenser - Hitdispfollowup +Slectdispenser - Selectcrind +Slectdispenser - Selectflowissue +Slectdispenser - Selectfuelsales +Slectdispenser - SelectPM +Slectdispenser - Selectproduct +Slectdispenser Dispenserleaks - Leakstopped +Slectdispenser Dispenserleaks - Stillleaking +Slectdispenser Selectcrind - CardacCPtsd +Slectdispenser Selectcrind - Cardreaderprinter +Slectdispenser Selectcrind - Generalcardrdrsd +Alldispenser - Allcrind +Alldispenser - Allflowissues +Alldispenser - Allfuelsales +Alldispenser - AllPM +Alldispenser - Allproductdown +Alldispenser - Intercom +Alldispenser - Media +Alldispenser - Allcrind Cardacceptad +Alldispenser - Allcrind Generalcardreaderad +Slectdispenser - Dispenserleaks +Slectdispenser - Display +ATG Liquid Sensors - Low Liquid Alarm +ATG Liquid Sensors - Open Alarm +ATG Crit +ATG Liquid Sensors - Short Alarm +ATG Liquid Sensors +ATG PLLD - Cont Handle On Alarm +ATG Low +ATG PLLD - Gross Test Fail Alarm +ATG Nor +ATG PLLD - Line Equipment Alarm +ATG PLLD +ATG PLLD - Low Pressure Alarm +ATG Smart Sensors +ATG PLLD - PLLD Annual Test Fail Alarm +ATG System +ATG PLLD - PLLD Annual Test Needed Alarm +ATG Tank Probes +ATG PLLD - PLLD Periodic Test Fail Alarm +Intellifuel +ATG PLLD - PLLD Periodic Test Needed Alarm +ATG Liquid Sensors - Liquid Warning +ATG PLLD - PLLD Shutdown Alarm +ATG Liquid Sensors - Setup Data Warning +ATG PLLD - Sensor Open Alarm +ATG PLLD - PLLD Annual Test Needed Warning +ATG PLLD - WPLLD Comm Alarm +ATG PLLD - PLLD Periodic Test Needed Warning +ATG PLLD - WPLLD Shutdown Alarm +ATG PLLD - PLLD Setup Data Warning +ATG Smart Sensors - SS Comm Alarm +ATG Smart Sensors - SS Fuel Warning +ATG Smart Sensors - SS Fault Alarm +ATG Smart Sensors - SS High Liquid Warning +ATG Smart Sensors - SS Fuel Alarm +ATG Smart Sensors - SS Low Liquid Warning +ATG Smart Sensors - SS Setup Data Warning +ATG Smart Sensors - SS High Liquid Alarm +ATG Smart Sensors - SS Temp Warning +ATG Smart Sensors - SS Install Alarm +ATG Smart Sensors - SS Water Warning +ATG Smart Sensors - SS Low Liquid Alarm +ATG System - Auto Callback Failure +ATG Smart Sensors - SS Short Alarm +ATG System - Battery Off +ATG Smart Sensors - SS Water Alarm +ATG System - Configuration Error +ATG System - Self Test Alarm +ATG System - FLS Poll Failure +ATG Tank Probes - Gross Leak Test Fail Alarm +ATG System - PC Revision Warning +ATG Tank Probes - High Limit Alarm +ATG System - ROM Revision Warning +ATG Tank Probes - High Water Alarm +ATG System - Software Module Warning +ATG Tank Probes - Max Level Alarm +ATG System - Too Many Tanks +ATG Tank Probes - Periodic Leak Test Fail Alarm +ATG Tank Probes - CSLD Increase Rate +ATG Tank Probes - Periodic Test Needed Alarm +ATG Liquid Sensors - Fuel Alarm +ATG Tank Probes - Probe Out Alarm +ATG Liquid Sensors - High Liquid Alarm +ATG Tank Probes - Sudden Loss Alarm +CNG Plant - CNG PM +CNG Plant - CNG Emergency +CNG Plant - CNG General +EVC +LPG +CNG - CNG Dispenser +CNG - CNG Plant +Major Repair +Minor Repair +Parts +Major Repair +Minor Repair +Not Working/Broken/Damaged +Damaged +Routine Response +Discharge +Damaged +Major Repair +Minor Repair +Restroom Fan +Breaker/Panels +Non-Safety +Safety +Compressor +Will Not Open +Major Electrical +Minor Electrical +Lift +Other +Repair +Not Working/Broken/Damaged +Not Working/Broken/Damaged +Broken Or Damaged +New Equipment Install +New Equipment Install +Normal +Minor +Sales floor +All +Missing +Damage +Damage +Other +Damage +Other +Damage +Replace +Other +Pick up and Return +Pick up and No Return +Delivery +Temporary Labor +Other +Height Clearance +Other +Damaged +Leaking +Broken +Overflow +Other +Odor +Chemical/Soap Proportioner +Chemical/Soap Proportioner +Vandalism +Pipe Insulation +Weather Stripping +Weather Stripping +Printer +Phone +Other +Delivery Truck Impact +Car Impact +Other +Section 8 +Occupancy Check +Move-Out +Move-In +Inspection +HOA/City Inspection +BTR Inspection +Graffiti +Graffiti +Other +Corner Guard +Column Wrap +Damage +Shelves +Children's High Chair +Repair Damaged +Missing +Inspection +Damage +Umbrella +Cover +Menu Board Canopy +Speaker Post +Ground Loop +Server Room +Light Switch +Rekey +Other +Electronic Strike/Token Lock +Noisy +PM/Major +Mezzanine +Breakroom +Basement +Mezzanine +Breakroom +Basement +Back of House +Mezzanine +Breakroom +Basement +Back of House +Mezzanine +Breakroom +Basement +Back of House +Mezzanine +Breakroom +Basement +Back of House +Mezzanine +Breakroom +Basement +Back of House +Turn Assignment +Natural Disaster Inspection +Compactor Full +Running +Overflow +Other +No Hot Water +Loose +Leaking +Clogged +Needs Repair +Funds +Empty +No Uniforms +New employee +Delivery Shortage +Return +No Delivery +Out of Product +No Rags +Watering +Missing Plants +Dead Plants +Carpet Cleaning +Repair or Damage +Water +Troubleshooting +Automatic Vacuum +Squirrels +Raccoons +Dirty +Damaged Grates +Rust +Re-Caulk +Dust and Debris on Cabin +Dirty Interior Walls +Dirty Exterior Walls +Car Impact +Not Running +Noise +Belt Issue +Seals +Lights Out or Flickering +Broken Lens +Ballast Out +Supply Side - Dirty +Pre-Filters - Dirty +Exhaust - Dirty +Broken Filter Rack +Not Operating +Noisy +Dirty - Overspray Buildup +Balance +Leaking +Dirty +Broken +Won't Open +Won't Close +Replace Seals +Replace Latches/Handles +Not Latching +Glass Broken or Shattered +Drags +Car Impact +Timers Bad +Switches Faulty +Spray Air +Relay Bad +Not Starting +Not Shutting Off +Not Baking +Contactors Bad +Not Reaching Temp +No Heat +Lighting +Noisy +Noisy +Under Pressurized +Over Pressurized +Not evacuating +Balance Issues +Board Up +Will Not Open +Will Not Close +Batteries Dead +Other +Sealing +"Not Working, Broken or Damaged" +Leaking +Other +"Not Working, Broken or Damaged" +Other +"Not Working, Broken or Damaged" +Inspection Center +All +Restroom +Inspection Center +Inspection Center +Inspection Center +Inspection Center +Inspection Center +Other +Other +Will Not Come Down +Not Working +Charging Station +Battery Cell +Not Working +Charging Station +Battery Cell +Preventative Maintenance +Not Working +Not Working +Charging Station +Battery Cell +Charging Station +Battery Cell +Other +Damaged +Other +Damaged +Damaged +Relocate/Install +Adjust View +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Line Leak +Other +Damaged +Other +Damaged +Other +Damaged +Strip and Wax Night 2 Reset +Strip and Wax Night 1 Reset +Scrape and Tile Reset +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Smart Lock +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Other +Damaged +Preventative Maintenance +Not Working +Other +Damaged +Other +Damaged +Other +Damaged +Smart Thermostat +Production Area +Production Area +Production Area +Production Area +Production Area +Not Closing +Not Opening +Other +Partially out +Sign completely out +Other +Water leaking +Cooling issue +Door +Door +Other +Water leaking +Cooling issue +Door +Other +Water leaking +Cooling issue +Cooling issue +Door +Other +Water leaking +Cooling issue +Door +Other +Water leaking +Water leaking +Cooling issue +Door +Other +Water leaking +Cooling issue +Door +Other +Other +Water leaking +Cooling issue +Door +Other +Water leaking +Cooling issue +Door +Door +Other +Water leaking +Cooling issue +Door +Other +Water leaking +Cooling issue +Cooling issue +Door +Other +Water leaking +Cooling issue +Door +Other +Water leaking +Water leaking +Cooling issue +Door +Other +Water leaking +Cooling issue +Door +Other +Other +Water leaking +Cooling issue +Door +Other +Water leaking +Cooling issue +Door +Door +Other +Water leaking +Cooling issue +Gasket +Gasket +Gasket +Gasket +Gasket +Low / No Ice Production +Broken Pipe +Winterize +Clogged Nozzles +Unsecured +Other +No Hot Water +Leaking +Other +Other +Cracked +Leaking +Loose +Improper Temperature +Other +Interior holes in walls +Roof Line/Fire Wall +Metal Flashing +Tree Trimming/Landscaping +Ceiling Tiles/Insulation +Other +Doorsweep +Piping +Exterior holes in walls +Roof Line +Key Broken Off +Won't Lock/Unlock +Handle/Door Knob +Handle/Door Knob +Key Broken Off +Won't Lock/Unlock +Door/Handle Issue +Shut Down +No Power +Not Heating +Other +Control Panel Not Working +Leaking +Not Heating +Controls not working +Other +No Power +Not Heating +Controls not working +Blower not working +Other +No Power +Conveyor Not Moving +Butter Roller Not Moving +No Power +Other +Not Heating +Controls not working +Controls not working +Other +No Power +Not Heating +No Power +Not Heating +Other +No Power +Not Heating +Other +Touch pad not working +No Power +Not Exhausting Air +No Power +Not Exhausting Air +Not Exhausting Air +No Power +No Power +Not Exhausting Air +Shut Down +Conveyor not turning +No Power +Not Heating +Other +Shut Down +Conveyor not turning +No Power +Not Heating +Other +Bunker Remodel +Other +Cooks Line +Lined Walls +PassThru +Other +Leak +Lighting Issue +Flow Rate +Partitions & Doors +Bar Stools +Benches +Portable Bars +Move +Remove +Secure +Kitchen Doors and Frames +Dining Room +Paint +Repair +Replace +Install +Cleaning +Other +Railing +To-Go Signs +Door Slams +Will Not Close +Dragging +Will Not Open +Handle +Broken Door +Latch/Closer/Hinge issue +Door Frame Issue +Weather Stripping +Water Leak +Window Film +Cracked +Shattered +Remove +Will Not Come Down +Stuck +Cannot Secure +Install New +Glass Film +Glass +Handle +Lighting issue +Cooling issue +Other +Door +Water leaking +Handle +Lighting issue +Cooling issue +Other +Door +Water leaking +Water leaking +Cooling issue +Door +Other +Lighting issue +Cooling issue +Other +Door +Water leaking +Handle +Hinges/Latch Broken +Not Maintaining Temp +Icing Up +Other +Fan Not Working +Water leaking +Other +Poor Taste +Foaming +Shut Down +No Power +No Product +Install Window Unit +Patio Heater +Bar Area +Bar Area +Bar Area +Bar Area +Bar Area +Other +No Power +Not Heating +Overgrown/Service Needed +Missed Service +Tile Replacement +Second Night Scrape +First Night Scrape +Daily Janitorial +Strip and Wax Night 2 +Strip and Wax Night 1 +Install +Sweeping +One Extra Pick-Up Request +One Extra Pick-Up Request +One Extra Pick-Up Request +No Service +Lock Request +One Extra Waste Pick-Up +Dumpster/Container Request +Open Top Request +Missed Pickup +Old Fixtures/Equipment Removal +Missed Pickup +One Extra Recycle Pick-Up +Dumpster/Container Request +Fix Power +Damage +Bale Pick-Up +Jammed +Oil Stains +Architectural Issue +Trash Can +Landscaping Service Needed/Weeds +Permit Issue +Cosmetic Issue +Vehicle/Parking +Notice of Hearing +Structural Issue +Landscaping Enhancement Needed +Other Issues +Code Issue +Trash/Debris +Municipal Inspection +Pool Issue +Health & Safety Issue +Slab Issue +Settlement cracks +Replace +Issue +Issue +Issue +Install +Damage +Damage +Damage +Damage +Damage +Broken/Damaged +New Keys +Electric Pallet Jack +Broken or Damaged +New Keys +New Keys +Forklift Rental +Battery Issue +Seatbelt/Horn/Light Repair +Making Noise +Battery Charger +Forks Not Working +Leaking Fluid +Brakes +Tire Issue +Not Moving/Starting +Damage +Anti-Theft Cary System +One Time Removal +Damage +Sign Falling +Issue +DVR/VCR Not Working +Monitor Not Working +Camera Not Working +Keypad Issue +Armored Car Key Issue +Unable To Lock/Unlock +Alarm Sensor - Other Door +Sounding +Alarm Sensor - Entrance Doors +Permit +Deficiency Report +Keypad/Error message +Alarm Sensor - Receiving Doors +System Down +Inspection +Panel Issue +Broken +Broken +Broken +Broken +Broken +Broken +Leak Repair +Bucket Test +Re-plaster +Backfill +Auto-Fill +Pump +Light +Filter +Basket/Skimmer +"Not Working, Broken or Damaged" +Loose +Leaking +Issue +Trench Grate Covers +Hair Strainer +Leaking +Filter Change +Damage +Running +Loose +Leaking +Clogged +Cracked +Overflowing +Overflow/Backup +Odor +Clogged +Trigger +Broken +Leaking +Clogged +Cracked +Loose +Overflowing +Leaking +Running +Deficiency +Regulatory Agency Inspection +Fleas +Ticks +Overhead Door Seal +Dock Brush Seal +Indian Meal Moths +Other +Disposition +Other +Slide Lock +Key Request +Key Broken Off +Key Request +Won't Lock/Unlock +Key Broken Off +Handle/Door Knob +Rekey +Handle/Door Knob +Key Request +Won't Lock/Unlock +Key Broken Off +Bulb/Lamp Recycling Box Needed +Lights Completely Out +Partial Outage +One Time Service Needed +Missed Service +Overgrown/Service Needed +No Show/Scrub & Recoat +Checklist Not Complete +Additional Service Requested +Scrub & Recoat Incomplete +No Show/Missed Service +Buffer Not Working +No Show/Strip & Wax +Equipment Scrubber Not Working +Backpack Vacuum Not Working +Strip and Wax Incomplete +Add and Quote Service High Bay Cleaning +Add and Quote Service Blitz Cleaning Due to Vendor Failure +Add and Quote Service Window Cleaning +Other +Special Clean-Up Needed +Special Clean-Up Needed +Special Clean-Up Needed +Other +Other +Missed Scheduled Pick-Up +Graffiti +Interior Wash +Exterior Wash +Install +Install +Dock Bumpers Damaged/Broken +Not Sealing +Leveler Damaged/Broken +Damage +Install +Damage +Install +Inspection +Stuck +Damage +Damage +Damage +Stained +Broken +Less than 15 Tiles +15+ Tiles +Grout +Remove +Damage +Install +Hand Dryers +Restroom Stall Door +Restroom Partitions +Water Damage +IAQ +Broken +Parts Needed +Tank Damage +Replace +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +No power +No power +Flooding +No Power +Tank Damage +Light Bulb +Deficiency Report +Damage +Deficiency Report +Keypad/Error message +Pull Station +Inspection +System Down +Deficiency Report +Permit +Sounding +Install +Damage +Cleaning Needed +Uneven +Handrail/Railing Repair +Oops Station +Not Working +Relocate +Power Outage +Fuel +Restart/Reconnect +TV Broken +Wiring +TV Installation +DVD Issue +Override Switch +Dragging +Weather Stripping +Broken Door +Will Not Open +Latch/Closer/Hinge issue +Door Slams +Handle +Will Not Close +Door Frame Issue +Off Track +Sensor Issue +Not Turning On/Off +Panel Issue +Not Sealing +Parts Request +No Power +Making Noise +Issue +Keys +Installation +Damage +Register or POS +Cracked or Peeling +Knob +Broken or Damaged +Hinge +"Not Working, Broken or Damaged" +Not Working +Leaking +Not Draining +Issue +No Hot Water +Parts Broken/Missing +Key Stuck +New Key Request +New Parts +Glass Broken/Missing +Partial Power +Power Outage +Ballast Out +Broken +Need Filters +Water Leak +Parts Ordering +Weather Damage +Squeaking +Rattling +Loud Noise +Septic Test +Backflow Test +Storm Damage +Storm Damage +Storm Damage +Storm Damage +Well Inspection +Alternative Floors (ALT LVT) +Fastbreak Night 1 +Breading Station +Fire +Preventative Maintenance +Replace +Repair +Re-key +Broken/Damaged +Black Specks In The Water +Filter Change +Low Water Pressure +Leaking +Broken/Damaged +Black Specks In The Water +Needs Salt +Beeping/Error Codes +Install +Install +Repair +Install +Other +Other +Repair +Not Maintaining Temp +Icing Up +Hinges/Latch +Gasket +Other +Install New +Other +"Not Working, Broken or Damaged" +Other +Other +Inspection +QC Inspection +Gas Leak +Running +Overflow +Other +No Hot Water +Loose +Leaking +Clogged +Not Closing +Not Opening +Showroom +Other +Not Working +Low Pressure +Making Noise +Drop Test +Handle/door Knob/chime +Will Not Close +Weather Stripping +Door Slams +Door Frame Issue +Will Not Open +Latch/closer/hinge Issue +Broken Door +Will Not Go Up +Will Not Come Down +Remove +Install New +Cannot Secure +Storage Room +Storage Room +Storage Room +Storage Room +Storage Room +Storage Room +Other +Lights Out +Sign Completely Out +Partially Out +Sign Completely Out +4 + Letters Out +1-3 Letters Out +High Electric Bill +4 Fixtures Or More +3 Fixtures Or Less +Survey Count Fixtures/Lamps +10 Or More Lamps Out +1-9 Lamps Out +Other +Repair +Retrofit +LP: Dark Site Escort Service +Curb Staking Service +Will Not Open +Will Not Close +Weather Stripping +Latch/Closer/Hinge Issue +Handle/Door Knob/Chime +Dragging +Door Slams +Door Frame Issue +Broken Door +"RS4 - Spot treatment of plowing, shoveling, and/or deicing - as instructed by SMS" +RS3 - Deicing only of the driveway and/or sidewalk +RS2 - Plow and deice the driveway +"RS1 - Plow, shovel, and deice the driveway and sidewalk" +Exterior +Interior +Other +Other +Front Line/Dining Room +Bathroom +Kitchen +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Repair +Other +Other +Rest Rooms +Rest Rooms +Dining Room - Top of Booth +Front Line/Dining Room +Kitchen +Shuttle +Roof +Other +Front Line/Dining Room +Kitchen +Kitchen +Front Line/Dining Room +Dumpster +Sheds +Walk-in +Rest Rooms +Kitchen +BOH +Front/Dining Room +Other +Other +Soffits +Other +Menu Board Repair +Pickup Window Repair +Not Working +Kitchen +Dining Room +Front Line +Front Line +Front Line +Lawn Disease Pest Contol +Lawn Insect Pest Control +Lawn Weed Pest Control +Green To Clean +Porch/Garage/Car Port +"Antennas Damaged, Missed, Or Broken" +"Turbines Damaged, Missed, Or Broken" +"Dishes Damaged, Missed, Or Broken" +"Solar Panels Damaged, Missed, Or Broken" +Chimney Damaged/Broken +Tarping Needed +Pool/Spa Heater +Stained +Possible Leak +Cracked Or Chipping +Well +Septic Backup +Septic Pump Needed +Septic Issues +Cracked/Broken/Damaged +Foundation Issue +De-winterize +Winterize +Water Extraction/Dryout +Leaking +"Not Working, Broken Or Damaged" +De-winterize +Winterize +Lights Out +Damaged +Water leaking +Shelving +Repair +Not Maintaining Temp +Icing Up +Hinges/Latch Broken +Gasket Repair/Replacement +Fan Not Working +Other +Not Maintaining Temp +Icing Up +Hinges/Latch +Gasket +Water leaking +Professional Cleaning +No Power +Running +Removal +Overflow +Other +Not cooling +No water +Loose/off wall +Leaking +Clogged +Routine Maintenance +Replacement +New Installation +Pump Failure +Other +On/Off Switch +Not warming/melting +Not maintaining temparture +Not dispensing properly +No Power +Cord +Out of Calibration +Not Freezing +Not Blending +No Power +Making Noise +Leaking +Cord +Will Not Turn On +Will Not Heat Up +"Replace Cord, Plug, Connection" +Repair Switch +Repair +Will Not Turn On +Will Not Heat Up +"Replace Cord, Plug, Connection" +Repair Switch +Repair +Shut Down +Probe +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Communication +Other +On/Off Button +Not Working +Motor/Sprocket +Heating Element +Cord +Belt Chain +Shut Down +Probe +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Communication +General Maintenance +Shut Down Carriage Arm Frozen +Replacement Blade +Poor Slice +Chain/Belt Issue +Will Not Turn On +Will Not Heat Up +Repair +Cracked +Broken +Window Unable to secure/lock +Window Not opening +Window Not closing +Window Motion sensor not working +Needs Repair +Damaged +Cove +Epoxy Coating +5 and over lamps out +1-5 lamps out +HVAC/Refrigeration +Power Washing +Storm Damage +"Broken, damaged or missing" +Treatment Needed +Trapping Needed +Trapping Needed +Treatment Needed +Trapping Needed +Treatment Needed +Treatment Needed +Treatment Needed +Quality Assurance Fee +Survey +Damaged Property +Salt Bucket +Roof Service +Stacking Service +Other +Stop Signs +Sign Completely Out +Partially Out +Other +No Parking Signs +New Install +Face Damage +Stop Signs +Sign Completely Out +Partially Out +Other +No Parking Signs +New Install +Face Damage +Other +Repair +Replace +Unsecure +Other +Monitoring +Plumbing +Cleaning +Other +Refrigerated Truck +Other +Shelving +Not Maintaining Temp +Icing Up +Hinges/Latch Broken +Gasket Repair/Replacement +Fan Not Working +Other +Not Working +Transformer +Other +Repair +Cut +Weld/Seam +Leaking +Shut Down +Probe +Communication +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Will Not Turn On +Will Not Heat Up +Not Working +Monitoring +Damaged Hardware/Frames +Other +Fixtures +Add Partition +4 Lamps Or More +3 Lamps Or Less +Bathroom +Restroom +Restroom +Restroom +Restroom +Restroom +TBD +S4 - Shovel & Deice only the sidewalk +Service IVR Fine +S2 - Plow parking lot and loading dock and shovel sidewalk +Other +Monthly Installment +Hauling service +S3 - Deicing only of the parking lot sidewalk and loading dock +"4.1 – 8 Salt, Plow Roadways, shovel walks" +Cracked +Shattered +Water Leak +Window Film +Latch/Closer/Hinge Issue +Dragging +Broken Door +Handle/Door Knob/Chime +Door Slams +Will Not Open +Glass +Door Frame Issue +Will Not Close +Handle/Door Knob/Chime +Weather stripping +Door slams +Will not open +Glass +Door Frame Issue +Will not close +Latch/Closer/Hinge issue +Dragging +Broken Door +Weather Stripping +Door Slams +Will Not Open +Post Hurricane Board-Up +Door Frame Issue +Will Not Close +Pre Hurricane Board-Up +Latch/Closer/Hinge Issue +Dragging +Broken Door +Rusting +Handle/Door Knob/Chime +Glass +Repair +Replace +Other +Other +Replace +Repair Damaged +Door Will Not Open/Close +Open Office Area +Interior +Stained +Sign Completely Out +1-3 Letters Out +4+ Letters Out +Face Damage +Replace +Inspection +Replace +Inspection +Bed Bugs +Leak +Office +Operations/Cage +Communications/Server Room +All +Conference Room +Open Office Area +Conference Room +Office/Restroom +Operations/Cage +Communications/Server Room +Showroom +Warehouse +Open Office Area +Open Office Area +Conference Room +Office +Operations/Cage +Showroom +Warehouse +Office/Restroom +Communications/Server Room +Conference Room +Showroom +Warehouse +Operations/Cage +Office/Restroom +Communications/Server Room +Open Office Area +Communications/Server Room +Open Office Area +Conference Room +Office/Restroom +Operations/Cage +Operations/Cage +Office/Restroom +Communications/Server Room +Open Office Area +Conference Room +Office/Restroom +Communications/Server Room +Open Office Area +Conference Room +Operations/Cage +Start Up Service Needed +Alarm Install +Crack +Removal +Cracking or Peeling +Small repairs +Large repairs +Removal +Foundation Repairs +Install mulch +Install +Lock +Installation +Repeater +Thermostat +Dumpster +Trash-out +Trash out +Structures +Misc Replacements +Preferred Vendor Discount +5 Point completion package +Flooring management fee +60 Point Inspection +Service Fireplace +Appliance Deep Cleaning +Secure opening +Install Exterior Trim Replacement (Does not include paint) +Install Fascia Replacement (Does not include paint) +Install Vinyl Siding +Install Pine Siding +Install T1-11 Siding +Install Cement Board Lap Siding +Install Stucco or Siding Repair (Time and Material Basis) +Install Pressboard Lap Siding +Install Cedar Siding +Crawl Space Cover +"Not Working, Broken or Damaged" +Haul Off +Install Complete Package (Ref/DW/Range/Micro hood) +Permit Fee +Burner Pan Replacement +Install +Install +Install +Install +Install +Pressure Washing +Replacement +Repair Damaged +Install New +Replace +Replace Button +Install Circuit +Install new +Install Panel +Install Outlet +Caulking +Broken or Damaged +Pressure test +Install stand +Flooding or water damage +Not Heating/Working Properly +Camera line +"Not Working, Broken or Damaged" +Other +Not Working +Other +Roof +Roof +Stuck +Bollard +Sign Completely Out +Partially Out +Other +Other +1-3 Letters Out +Minor Leak +Major Leak +Window Film +Service +Service +Other +Service +Service +Service +Replace +Repair +Shop +Shop +Shop +Shop +Roof +Fence +Dumpster +Door +Shop +Shop +Replace +Repair Damaged +Stop Signs +No Parking Signs +Sign Completely Out +Face Damage +Telephone +Door Will Not Open/Close +Buttons Not Working +Storm Damage +Other +Leak +Missing +Leaking +Damaged +Damaged +Missing +Leaking +Stuck +Making Noise +Repair +Inspection +Other +Not Cooling +No Water +Loose/Off Wall +Overflowing +Loose +Overflow +No Hot Water +Water Main Issue +Pipes Impacted +Pipe Frozen +Pipe Burst +Running +Overflow +No Hot Water +Loose +Odor +Water Meter +Water Meter +Water Meter +Running +Loose +Well +Septic Tank +Lift Station +Test +Repair +Will Not Go Up +Office +Exterior +Sewage Odor +Gas Leak +Stuck +Lights +Inspection +Communication +Wet +Stained +Damaged +Damaged +Automatic +Wet +Missing +Missing +Other +Carpet Tiles Missing +Other +Less Than 15 Tiles +15+ Tiles +False Alarm +Other +Overgrown +Striping +Replace +Winterize +Replace +Stop Signs +Replace +Receiving Door Lighting +Wiring +Wiring +Other +Will Not Open +Will Not Open +Will Not Close +Weather Stripping +Latch/Closer/Hinge Issue +Handle/Door Knob/Chime +Dragging +Door Slams +Door Frame Issue +Cart Guard +Broken Door +Will Not Go Up +Fairborn +Will Not Go Up +Will Not Come Down +Remove +Install New +Cannot Secure +Will Not Go Up +Other +Will Not Open +Tree Trimming/Landscaping +Roof Line/Fire Wall +Roof Line +Piping +Other +Metal Flashing +Interior Holes In Walls +Exterior Holes In Walls +Doorsweep +Ceiling Tiles/Insulation +Fire Sprinkler +Alarm Sensor - Other Door +Alarm Sensor - Receiving Doors +Alarm Sensor - Entrance Doors +4+ letters out +Need Cover +Shop +Other +Other +Common Area +Administrative +Gasket Repair/Replacement +Showroom/Sales/Finance +Wont Lock/Unlock +Floor +Fixtures +Making Noise +Repair +Refrigeration +Other +Roof Line +Office/Restrooms +Showroom/Sales/Finance +Administrative +Heating +Cooling issue +Replace +Showroom +Water Leaking +Lighting issue +Administrative +Cooling issue +Safeguard +Shelving +Other +Wont Lock/Unlock +Sink +Fan Not Working +Shop +Key Broken Off +Repair +Wont Lock/Unlock +Exterior Holes In Walls +Shop +Wont Lock/Unlock +Repair +Other +Icing Up +Repair +No Power +Shop +Roof Line/Fire Wall +Sign Partially Lit +Cooling Issue +Leaking +Administrative +Not Working +Administrative +No Product +Window Film +Shop +Warehouse +Shop +Warehouse +Cooling issue +Lighting issue +Other +Interior Holes In Walls +Poor Taste +Other +Showroom +Other +Alarm Sensor - Entrance Doors +Other +No Power +Paint +Key Broken Off +Showroom/Sales/Finance +Doorsweep +Administrative +Cleaning +Shelving +Fan Not Working +Showroom +Service +Fixtures +Office/Restrooms +Won't Turn On/Off +Showroom/Sales/Finance +Repair +Equipment +Beer System +Repair +Ceiling Tiles/Insulation +Handle +Showroom/Sales/Finance +Not Maintaining Temp +Parts +Drains +Showroom/Sales/Finance +Lighting issue +Door +Shut Down +Administrative +Belt Replacement +Equipment +Blinking +Broken +Other +Wont Lock/Unlock +Glass +Sink +Hinges/Latch Broken +Schedule Change +Other +Service +Face damage +Common Area +Cooling +Door +Repair +Repair +Service +Door +Unit Stolen +Parts +Too Hot +Thermostat Has Blank Display +Fixtures +Hatch +Warehouse +Glass +Walls +Replace +Service +Fire Sprinkler +Other +Water leaking +Plumbing +Safeguard +Clean +Glass +Office/Restrooms +Handle +Alarm Sensor - Other Door +Common Area +Lighting Issue +Piping +1-3 letters out +Add Fixture +Common Area +Alarm Sensor - Receiving Doors +Handle +Partitions +Door +Replace +Tree Trimming/Landscaping +Won't Turn On +Service +Sign completely out +Need Salt +Repair +Replace +Too Cold +Repair +Door +Metal Flashing +Cleaning +Wont Lock/Unlock +Wont Lock/Unlock +Will Not Open +Handle +Changing Station +Plumbing +Loose +Administrative +Common Area +Control Panel Not Working +Other +Not Working +Service +Water leaking +Glass +Scratched +Noisy +Off Tracks +Water leaking +Preventive Maintenance +Other +Ceiling +Loose +Common Area +Loading Dock/Lift +Replace +Repair +Other +Install +Customer Requested Survey +Customer Requested Survey +Customer Requested Survey +40 and over lamps out +1-40 lamps out +Water +"Replace Cord, Plug, Connection" +Replace Cord +Replace Cord +Pump +Treatment +New Install +Need Salt +Leaking +Broken +Shelving +Repair +Not Maintaining Temp +Icing Up +Hinges/Latch Broken +Gasket Repair/Replacement +Fan Not Working +Replace +Remove +Replace +Repair +Won't Turn On +Need Cover +Loose +Blinking +Add Fixture +Not Working +Not Moving +Chain Is Broken +Running +Overflow +Other +No Hot Water +Loose +Leaking +Clogged +Replacement/New Install +Repair Required +Recharge +Preventive Maintenance +Leaking +Inspection +Replace +Not Maintaining Temp +Not Heating +Missing Knob +Leaking +Won't Turn On +Need Cover +Loose +Blinking +Add Fixture +Will Not Turn On +Will Not Heat Up +Replace +Repair +Remove +Overflowing +Backed Up/Clogged +Repair +Pumping +Water Leaking +Other +Lighting Issue +Handle +Glass +Door +Cooling Issue +Key Broken Off +Damaged +Visual Screen +Access Door +Replace +Repair +Power Switch +High Limit Switch +Heating Element +Controller +Contactor/Starter +Clean +Too Hot +Too Cold +Thermostat Or Knob +Repair Drawer +Not Holding Temp +No Power +Running +Overflow +Other +No Hot Water +Loose +Leaking +Clogged +Replace +Remove +Prune/Trim/Cutback +Fertilize +Replace +Repair +Won't Turn On +Need Cover +Loose +Blinking +Add Fixture +Trash Receptacle +Tables +Replace +Repair +Picnic Table +Cigarette Receptacle +Chairs +Replace +Repair +Graffiti +Replace +Repair +Too Warm +Too Cold +Shelving +Not Maintaining Temp +Hinges/Latch +Glass Sratched/Cracked +Fan Not Working +Will Not Turn On +Will Not Spin/Move +Replace Cord +Not Working +Replace +Repair +Too Hot +Too Cold +Thermostat Or Knob +"Repair/Replace Cord, Plug, Connection" +Repair +Not Holding Temp +No Power +Replace +Repair +Missing +Won't Turn On +Poor Air Flow +Noisy +Air Balance +Not Working +Replace +Repair +Not Working +Running +Overflow +Other +No Hot Water +Loose +Leaking +Clogged +Other +Won't Lock/Unlock +Key Broken Off +Will Not Open +Will Not Close +Weather Stripping +Paint +Latch/Closer/Hinge Issue +Handle/Door Knob/Chime +Glass Guard +Dragging +Door Slams +Door Frame Issue +Broken Door +Damage From Fire/Water Pipe +Replace +Missing Parts +Leaking +Too Cold +Replace Breaker Strips +Replace +Repair Lids/Handles +Repair +Not Maintaining Temp/Refrigerated Rail +Not Maintaining Temp/Freezer +Icing Up +Gasket Repair/Replacement +Collars Repair Or Replace +Too Cold +Replace Breaker Strips +Replace +Repair Lids/Handles +Repair +Not Maintaining Temp +Leaking +Icing Up +Gasket Repair/Replacement +Collars Repair Or Replace +Scratched +Replace +Repair +Loose +Broken +Inspection +Discharge +Replaced +Leaking +Replaced +Leaking +Replace +Repair +Tables Tops And Bases +Stools +Podium +Dividers +Chairs +Booths +Will Not Turn On +Will Not Heat Up +Replace +Repair Switch +Repair +Replace +Repair +Won't Turn On +Won't Turn Off +Replace +Repair +Burning Odor +Too Cold +Replace Breaker Strips +Replace +Repair Lids/Handles +Repair +Not Maintaining Temp +Leaking +Icing Up +Gasket Repair/Replacement +Collars - Repair Or Replace +Will Not Turn On +Will Not Heat Up +"Replace Cord, Plug, Connection" +Repair Switch +Repair +Too Cold +Replace Breaker Strips +Replace +Repair Lids/Handles +Repair +Not Maintaining Temp +Icing Up +Collars Repair Or Replace +Will Not Turn On +Will Not Heat Up +"Replace Cord, Plug, Connection" +Repair Switch +Repair +Replace +Repair +Replace +Repair +Re-Grout +Replace +Repair +Repair +No Ventilation +Hood Not Functioning +Won't Turn On +Repair +No Ventilation +Fan Not Functioning +Won't Turn On +Repair +No Ventilation +Fan Not Functioning +Won't Turn On +Repair +No Ventilation +Fan Not Functioning +Won't Turn On +Repair +Poor Flow +Only One Side Works +Noisy +Need Filters +Fan Not Functioning +Leaking Condensation +Insulation +Falling From Ceiling +Damaged +Cut/Open +Replace +Repair +Not Working +Too Cold +Thermostat Or Knob +Repair +Not Holding Temp +No Power +Too Cold +Replace Breaker Strips +Replace +Repair Lids/Handles +Repair +Not Maintaining Temp +Icing Up +Collars Repair Or Replace +Drain Clogged +Replace +Paint +Loose/Falling Down +Dripping Water +Replace +Repair +Other +Replace +Repair +Stuck +Storm Damage +Repair (Please Identify Area In Notes) +Leaking +Replace +Repair Cord/Plug +Repair (Please Identify Area In Notes) +Not Maintaining Temp +Making Noise +Replace +Move +Add +Replace +Repair +Replace +Repair +Will Not Turn On +Will Not Heat Up +Replace +Not Working +Damaged Frame +Broken Glass +Repair +Not Maintaining Temp +Icing Up +Hinges/Latch +Gasket +Replace +Repair (Please Identify Area In Notes) +Not Working +Noisy +Clean +Replace +Repair +Will Not Turn On +Will Not Heat Up +Not Working +Won't Turn On +Need Cover +Loose +Blinking +Add Fixture +Won't Turn On +Will Not Heat Up +Missing Or Broken Parts (Describe In Notes) +Leaking Grease +Incorrect Temperature +Caught Fire +Calibration +Vandalized/Graffiti +Needs Repair +Installation Of New Window Shades +Falling Down +Broken/Not Working +Wobbly +Scratched +Loose +Broken +Repair +Loose +Broken +Replace +Repair +Replace +Repair +Won't Shut Off +Won't Come On +No Heat +Won't Turn On +Replace +Repair +Need Cover +Loose +Blinking +Add Fixture +Paint +Won't Lock/Unlock +Paint +Won't Lock/Unlock +Paint +Won't Lock/Unlock +Paint +Glass Guard +Won't Lock/Unlock +Key Broken Off +Paint +Won't Lock/Unlock +Paint +Glass Guard +Paint +Routine Maintenance +Routine Maintenance +Carpet Base +Routine Maintenance +Restricter Plates +Pumps +Discharge +Dining Room Floor +Jammed +Damaged +Menu Board +Hood Lights +Not Working +Restaurant Open Button Broken +Kitchen +Dining Room +Kitchen +Dining Room +Kitchen +Dining Room +Kitchen +Dining Room +Kitchen +Electric Baseboard Heaters +Dining Room +Kitchen +Dining Room +Sump Pump Not Working +Washer - Water Issue +Storm Damage +"Not Working, Broken or Damaged" +Broken or Damaged +Bale Pick-up +Pharmacy +Pharmacy +Sweep and Scrub +Other +Level 3 +Level 2 +Level 1 +Hand Watering +Tree Removal Needed +Treatment Needed +Treatment Needed +Trapping Needed +Other +Ice Maker Not Working +Damaged or Missing +App/IVR Fine +Walk Way +Security Lighting +Other +Other +Lighting Control System +Light/Bulb/Glove Below 20ft/6m +Light Covers/Grates +Fixture Repair/Maintenance +Exit Lights +Emergency Lights +Canopy/Wall Pack Lighting +Vehicle/Parking +Vehicle/Parking +Trash/Debris +Trash/Debris +Trash Can +Trash Can +Structural Issue +Structural Issue +Pool Issue +Pool Issue +Permit Issue +Permit Issue +Other Issues +Other Issues +Oil Stains +Oil Stains +Notice of Hearing +Notice of Hearing +Municipal Inspection +Municipal Inspection +Landscaping Service Needed/Weeds +Landscaping Service Needed/Weeds +Landscaping Enhancement Needed +Landscaping Enhancement Needed +Health & Safety Issue +Health & Safety Issue +Cosmetic Issue +Cosmetic Issue +Code Issue +Code Issue +Architectural Issue +Architectural Issue +Other +Other +Other +Xeriscape Damaged/Blown Away +Sump Pump Not Working +Phone Line +Other +Other +Grading/Swales - Flood Spots +Debris Coming Through Vents +Cracked/Damaged +Cracked/Damaged +"Sprinkler heads missing, leaking or broken" +Tree Removal +KU Infant & Toddler Carpets +Termites +Rattling Noise +No Light +Knob +Hinge +Ants +Installation +Not working +Stuck +Not working +New Install +Will not go up +Will not come down +Remove +Install new +Cannot secure +Other +Other +Other +Other +Other +Other +Handle/Door Knob/Chime +Cart guard +Handle/Door Knob/Chime +Rusting +Handle/Door Knob/Chime +Key broken off +Cannot alarm +Beeping +Handle/Door Knob/Chime +Glass +Cart guard +Handle/Door Knob/Chime +Glass +Handle/Door Knob/Chime +Glass +Cart guard +Override button broken +Pulling Up +"Not Working, Broken or Damaged" +Damaged +Clogged Gutters +Carpet Cleaning Needed +Windows Int And Ext +Windows Int +Windows Ext +Water Too Hot +Water Too Hot +Wall Packs Out +Wall Cleaning +Vent Cleaning +Treatment Room +Treatment Room +Treatment Room +Treatment Room +Treatment Room +Treatment Room +Tile Repair +Tile Repair +Strip And Wax +Storage +Storage +Storage +Storage +Storage +Showerhead/Handle Broken +Showerhead/Handle Broken +Sheet Metal +Sheet Metal +Sheet Metal +Sheet Metal +Running +Running +Replace +Replace +Replace +Repair +Rehang +Pressure Wash Sidewalk Only +Pressure Wash Gas Station Canopy +Pressure Wash Exterior Building +Pressure Wash Dumpster Area +Pm +Pm +Pm +Pm +Pm +Pm +Pm +Pm +Pm +Pm +Overflowing +Overflowing +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Office +Office +Office +Office +Office +Not Working +Not Working +Not Producing Ice +Not Draining +Not Draining +Not Draining +Not Draining +No Hot Water +No Hot Water +Move +Making Noise +Loose +Loose +Loading Dock Pressure Washing Service +Light Bulb Changing +Leaking +Leaking +Leaking +Leaking +Leaking +Leaking +Leaking +Kiosk +Kiosk +Kiosk +Kiosk +Kiosk +Installation +Install/Swap +Install Parts +Hot Jet Pm +High Dusting Service +Front Pressure Washing Service +Floor Drain +Emergency Water Extraction +Drain Service +Detail Clean And Disinfect Restroom +Damage +Cracked +Cracked +Clogged +Clogged +Cleaning Pm +Cleaning Pm +Cleaning Pm +Cleaning +Cleaning +Cleaning +Clean And Sanitize +Circulation Pump +Ceiling Tile Cleaning +Carpet Extraction +Board-Up +Winterize +Roof Mounted +Repair Damaged +Repair Damaged +Repair Damaged +Repair Damaged +Repair Damaged +Repair Damaged +Repair +Repair +Repair +Repair +Repair +Repair +Other +Other +Other +Other +Missing +Missing +Missing +Missing +Leaking +Hardware +Ground Mounted +Grid Repair +Damaged/Loose +Damaged +Damaged +Damaged +Damaged +Damaged +Building Mounted +Broken Pipe +Bolt +FS/IPM +Service IVR Fine +Other +Other +Unit Replacement +Odor +Lightstat +Front Salon +Front Salon +Front Salon +Front Salon +Front Salon +Front Salon +Found On Pm +Belt Replacement +Back Salon +Back Salon +Back Salon +Back Salon +Back Salon +Back Salon +Other +Other +"Not Working, Broken or Damaged" +Insulation +Deck Repair +"Damaged, Missing or Wet" +"Damaged, Missing or Wet" +more than 25 lights out +Will not open +Other +Will not go up +Other +Paint +Other +Post Hurricane Board-up +Handle/Door Knob +4 fixtures or more +Other +Paint +Remove +Other +Repair +3 fixtures or less +Handle/Door Knob +No Parking signs +Will not close +Damaged +Mold +Latch/Closer/Hinge issue +Will not close +Dragging +Post Hurricane Board-up +Cracked +Additional lighting requested +Paint +Outlet - new install +Carpet Tiles Missing +Other +Other +Weather stripping +Other +Schedule Change +1-5 lamps out +Install +Rekey +Door Frame Issue +Will not open +Grout +Other +Clogged +Other +Broken Door +Shattered +Wiring +Weather stripping +15+ tiles +Wiring +Pre Hurricane Board-up +Door slams +Will not open +Replace +Handicap signage +Other +Pre Hurricane Board-up +Will not close +Other +Door Frame Issue +Door Frame Issue +Handle/Door Knob +4 fixtures or more +Will not come down +Sensor +6-25 lamps out +Exit signs +Asbestos +Rekey +Store Open button broken +Other +Repair damaged +3 fixtures or less +Latch/Closer/Hinge issue +Key broken off +Other +Water leak +Dragging +Door slams +Rekey +Relocate +Missing +Broken Door +Handle/Door Knob +Other +No power +Will not close +Entire lot is out +Other +Remove +Door Frame Issue +Other +Will not go up +Key broken off +Outlets +Outlet - new install +Broken Door +Other +Door slams +Weather stripping +No power +Other +Dragging +Dragging +Other +Will not open +Hand dryers +Window Film +Clogged +Alarm not secure on door +Stop Signs +Other +Broken Door +Rekey +Clogged +Install +Other +Key broken off +Door slams +Other +Will not close +Other +Other +Other +Curb/Car/Wheel stop +Other +Install new +Broken Door +Survey +Outlet not working +Latch/Closer/Hinge issue +Water Leak +Receiving door lighting +Other +Inspection +Latch/Closer/Hinge issue +Bathroom fans +Beeping +Will not close +Other +Other +Emergency lighting +Dragging +Leaking +Repair +Shattered +Key broken off +Handle/Door Knob +Cannot alarm +Cracked +Door slams +Cannot secure +Polish +Tuck point +Cannot secure +Rekey +Weather stripping +Inspection +Key broken off +Will not open +Other +Water Leak +Less than 15 tiles +Other +Breakers/Panels +Other +Will not come down +Latch/Closer/Hinge issue +Broken Door +Door slams +Install new +Other +Other +Additional lighting requested +Dragging +Latch/Closer/Hinge issue +Handle/Door Knob +Window Film +Will not open +Door Frame Issue +Twist Timer broken +Key broken off +Other +Door Frame Issue +Power washing partial +Power washing full +Other +Other +Weed Removal +fountain maintenance +Other +Won't Turn Off +Will Not Flush/Backing Up +Weeds/Fertilization Needed +Water Damage +Vent Issue +Vandalism +Vandalism +Unable to Secure +Unable to Secure +Unable to Secure +Unable to Secure +Unable to Secure +Trees/Shrubs +Tree Trimming Needed +Timer Not Working +Storm Damage +Storm Damage +Sprinkler Issue +Spring Issue +Smoke Smell +Slow or Clogged Drain +Slow or Clogged Drain +Screen +Routine Service Needed +Routine Service Needed +Routine Service Needed +Rodents/Large Pests +Pulling Up +Programming Issue +Plaster Issue +Peeling Up/Separating +Peeling Paint +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +"Not Working, Broken or Damaged" +Not Heating/Working Properly +Not Heating +Not Cooling +Not Cooling +Not Closing +Not Cleaning Properly +"Missing, Broken or Damaged" +"Missing, Broken or Damaged" +Missing Slats +Missing Screen +Missing Remote +Making Noise +Maid Service Needed +Lost Keys +Lost Keys +Light Not Working +Lifting Concrete +Leaking Water/Broken Line +Leaking Water +Leaking Water +Leaking/Running Constantly +Leaking +Knob or Hinge +Interior Leaking/Water Spots +Hole +Grout Issue +Grout Issue +Grass/Lawn +Gas Smell +Gas Smell +Gas Smell +Gas Smell +Gas Smell +Freezer Not Working +Framing +Floor Paint Cracking or Peeling +Flooding/Water Damage +Flooding/Water Damage +Falling off Wall +Exposed Wiring +Dryer Vent +Discoloration +Damaged/Torn +Damaged +Damaged +Cracking or Peeling +Cracking or Peeling +Cracking or Peeling +"Cracked, Broken or Damaged" +Cracked Tile +Cracked Tile +Cracked or Peeling +Cracked or Peeling +Clogged Gutters +Chimney Sweep Needed +Carpet Cleaning Needed +"Broken, Torn or Damaged" +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken or Damaged +Broken Glass +Broken/Leaky Pipe or Faucet +Broken/Leaky Pipe or Faucet +Breaker +Beeping +Ants/Termites +RLMB +"sweep, mop and buff with all carpets" +Wet/Stained +Wet/Stained +Wet/Stained +Vestibule +Vestibule +Vestibule +Vestibule +Vendor Meet +Stripping +Store Closing +Signage +Sensor Survey +Sensor +Sales Floor +Sales Floor +Sales Floor +Sales Floor +Sales Floor +Sales Floor +Restroom Sanitization +Rebate +Portable restrooms +Filter Change +Patching +Outlet/Power to Registers +Outlet/Power to CPD +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Novar +No Power to Sensormatic +No Power to Doors +Missing/Damaged +Missing/Broken +Missing/Broken +Missing Grates +Line jetting +Lights out +Lights out +Latch/Closer/Hinge issue +Landlord Access +Install new +Install new +Handle/Door Knob +Gas odor +Gas Odor +Garbage Clean Up +Fire Alarm +Condensate Drain Line Repair +Communication Loss +Coils Stolen +Coil Cleaning +Carpet Tiles +Camera line +Backroom +Backroom +Backroom +Backroom +Backroom +Backroom +Approved Repair +Approved Move/Add/Change +Plant Fertilization Service +PH Amendment +Storm Water Drain Service +Rain Garden Plant Maintenance +Rain Garden Mulch Service +Annual Flower Rotation +Tree Fertilization Service +Soil Nutrient Test +Overseeding Service +No Power +Replacement +Cleaning +New Installation +Replacement +Shut Down +Preventative Maintenance +Other +Other +Energy Management System (EMS) +Energy Management System (EMS) +Cleaning +Repair +Repair +Energy Management System (EMS) +Cleaning +Repair +New Installation +Conveyor not turning +Foaming +Preventative Maintenance +Replacement +Not Heating +New Installation +Preventative Maintenance +Water leaking +Other +Water leaking +Lighting issue +Water leaking +Door +Glass +Handle +Lighting issue +Handle +Door +Water leaking +Lighting issue +Handle +Lighting issue +Door +Glass +Glass +Handle +Glass +Door +Other +Other +Other +Outdoor Furniture +Furniture +Flooring +Cooling issue +Shut Down +Other +Not tilting +Not heating +No Power +Shut Down +Poor Taste +Other +No Product +No Power +Too much smoke in restaurant +Shut Down +Other +Not smoking +Not heating +No Power +Intermittent heating +Doors Broken +Shut Down +Other +No Power +Adjustment Knob Problem +Sneeze Guard Broken +Other +Not Cooling +No Power +Shut Down +Other +Not Heating +No Power +Cooling issue +Shut Down +Other +Not cooling +No power +Shut Down +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Shut Down +Paddle won't spin +No Power +Touch pad not working +Shut Down +Other +Not Heating +No Power +Cooling issue +Cooling issue +Shut Down +Other +Not Heating +No Power +Shut Down +Other +Not Heating +Shut Down +Other +Not Heating +No Power +Leaking +Cleaning System/Filter +Shut Down +Other +Not working +Shut Down +Other +Not keeping product hot +Not keeping coffee hot +No Power +Shut Down +Other +Not cleaning +Shut Down +Other +Not cleaning +Shut Down +Other +Not Heating +No Power +No Humidification +Door/Handle Issue +Control Panel Not Working +Shut Down +Other +Not Heating +No Power +Door/Handle Issue +Control Panel Not Working +Shut Down +Other +Not Heating +No Power +Conveyor not turning +Shut Down +Other +Not keeping product hot +No Power +Shut Down +Poor Taste +Other +No Product +No Power +Parking lot Striping Compliance +Window Monthly +Detail Clean and Disinfect Restroom +Burnish Service +Restroom Cleaning (Annual) +Janitorial and Floor Services (Winter) +Janitorial and Floor Services (Winter) +Janitorial and Floor Services (Winter) +Janitorial and Floor Services (Winter) +Janitorial and Floor Services (Winter) +Janitorial and Floor Services (Regular) +Janitorial and Floor Services (Regular) +Janitorial and Floor Services (Regular) +Janitorial and Floor Services (Regular) +Super Clean +Project Daily +Emergency Water Extractions +Graffiti +Kitchen +Water leak +Water leak +Water leak +Water Heater +Water Heater +Water Damage +Water Cloudy +Vandalism +Vandalism +Vandalism +Vandalism +Vandalism +Unlock +Unlock +Unlock +Unlock +Tub +Tub +Trouble Alarm +Treat Area +Treat Area +Treat Area +Treat Area +Treat Area +Treat Area +Treat Area +Treat Area +Trap and Remove Animal +Tile +Tile +Temporary Units +Temporary Units +Temporary Units +Temporary Units +Stairs +Stairs +Stained +Stained +Stained +Stained +Stained +Stained +Stained +Sprinkler +Sprinkler +Spray Perimeter +Spray Perimeter +Spray Perimeter +Spray Perimeter +Spray Perimeter +Spray Perimeter +Spray Perimeter +Skimmer Baskets +Sink +Sink +Shower +Shower +Shepards Hook +Sales Center +Sales Center +Sales Center +Sales Center +Running Poorly +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Routine Maintenance +Resurface +Resurface +Resurface +Resurface +Resurface +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Replace +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repaint +Repaint +Repaint +Repaint +Repaint +Remove +Remove +Remove +Remove +Refrigerator Line +Refrigerator Line +Refinish +Refinish +Refinish +Refinish +Refinish +Refinish +Reattach +Reattach +Reattach +Reattach +Reattach +Pump +Pump +Powerwash +Place Trap +Place Trap +Place Trap +Place Trap +Place Trap +Place Trap +Place Trap +Place Trap +Place Trap +PH Too Low +PH Too High +Patch/Repair +Patch/Repair +Patch/Repair +Patch/Repair +Patch/Repair +Patch/Repair +Patch/Repair +Other water chemistry Issue +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Operating erratically +Not Running +Not moving +Not heating +Not heating +Not heating +Not heating +Not cooling +Not cooling +Not cooling +Not cooling +Not cooling +Noisy +Noisy +Noisy +Noisy +No Airflow +No Airflow +No Airflow +No Airflow +New +New +New +New +New +New +New +Move/Relocate +Missing/Broken Parts +Making noise +Making Noise +Making Noise +Making Noise +Making Noise +Maintenance Building +Maintenance Building +Maintenance Building +Maintenance Building +Lock +Lock +Lock +Lock +Liner +Liner +Life Ring +Ladder +Ladder +In Wall +In Wall +Housekeeping Building +Housekeeping Building +Housekeeping Building +Housekeeping Building +Hinges +Hinges +Hinges +Hinges +Heater +Heater +Guest Building +Guest Building +Guest Building +Guest Building +Garbage Disposal +Garbage Disposal +Floor drain +Floor drain +Filter +Filter +Fencing +Fencing +EMS +EMS +EMS +EMS +Eliminate Breeding Conditions +Eliminate Breeding Conditions +Eliminate Breeding Conditions +Eliminate Breeding Conditions +Drain +Drain +Dispose of +Dishwasher +Dishwasher +Discard +Discard +Discard +Discard +Discard +Discard +Discard +Discard +Discard +Discard +Discard +Device Failed +Deck +Deck +Cupped/Buckled +Coping +Coping +Common Area +Common Area +Common Area +Common Area +Chlorine Too low +Chlorine Too High +Chemical Management System +Capture Pest +Capture Pest +Capture Pest +Capture Pest +Capture Pest +Broken +Broken +Broken +Broken +Activities Building +Activities Building +Activities Building +Activities Building +Refresh Service (Front SR and back SMB) +Floor Care Monthly +Carpet extraction N +Janitorial Service Monthly +Half Strip and Wax +Bathroom fans +Hand dryers +Sewage odor +Gas leak +Tree Trimming/Landscaping +Roof Line/Fire Wall +Handle/Door Knob/Chime +Handle/Door Knob/Chime +Handle/Door Knob/Chime +Handle/Door Knob/Chime +Handle/Door Knob/Chime +Handle/Door Knob/Chime +Fix power +Door Frame Issue +Door Frame Issue +Door Frame Issue +Door Frame Issue +Door Frame Issue +Door Frame Issue +Ceiling Tiles/Insulation +Broken Door +Broken Door +Broken Door +Broken Door +Broken Door +Broken Door +Other +Broken planks +Buckled +Repair Damaged +Other +Carpet Tiles Missing +Repair damaged +Other +15+ tiles +Less than 15 tiles +Other +Fill large cracks +Repair damaged +Lift Station +Well +Septic Tank +Winterize +Wet +Wet +Wet +Water +Stuck +Striping +Stop Signs +Stained +Stained +Stained +Spring Startup +Sign poles +Severe cracks +Sand Bag +Sales floor +Running +Roof Line +Roof +Roof +Roof +Rodent prevention +Reprogram +Replace +Replace +Replace +Replace +Replace +Repair +Repair +Repair +Repair +Repair +Ramp +Potholes +Piping +Parking lot poles +Painted +Paint (graffiti) +Paint (graffiti) +Paint (graffiti) +Paint +Paint +Overgrown +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Office +No Parking signs +Missing +Metal Flashing +Manual +Lights +Leak +Leak +Interior holes in walls +Install Power +Install +Install +Install +Install +Install +Inspection +Hurricane Boards Down +Hurricane Board Up +Handicap signage +Fence +Fence +Fence +Exterior holes in walls +Exterior +Other +Dumpster Pad +Dumpster +Dumpster +Dumpster +Drainage problem +Doorsweep +Doors/Gates +Door +Door +Door +Damaged +Damaged +Damaged +Damaged +Curb/Car/Wheel stop +Cracked +Complaint +Communication +Building structure +Building structure +Building structure +Bollard +Bollard +Bollard +Automatic +ADA Compliance +Wiring +Wiring +Will not open +Will not open +Will not open +Will not open +Will not open +Will not open +Will not go up +Will not go up +Will not come down +Will not come down +Will not close +Will not close +Will not close +Will not close +Will not close +Will not close +Weather stripping +Weather stripping +Weather stripping +Weather stripping +Water meter +Water main issue +Water Leak +Water Leak +Twist Timer broken +Trouble +Test +Termites +Storm Damage +Store Open button broken +Stop Signs +Spiders +Snakes +Sign completely out +Sign completely out +Sign completely out +Shattered +Shattered +Sensor +Scorpions +Schedule Change +Rusting +Running +Running +Running +Running +Running +Roaches +Repair required +Repair +Remove +Remove +Recharge +Receiving door lighting +Rats - severe +Rats - moderate +Rats - mild +Pre Hurricane Board-up +Pre Hurricane Board-up +Post Hurricane Board-up +Post Hurricane Board-up +Other +Pipes impacted +Pipe frozen +Pipe burst +Phone line install +Partially out +Partially out +Panel issue +Overflowing +Overflow +Overflow +Overflow +Overflow +Outlets +Outlet/Power to register +Outlet other +Outlet/Power to office +Outlet - new install +Outlet - new install +Other inspection +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Other +Odor +Not cooling +No water/Off +No water +No power +No power +No Parking signs +No hot water +No hot water +No hot water +New Install +10 and over lamps out +Missing +Missing +Minor Leak +Mice - severe +Mice - moderate +Mice - mild +Major leak +Loose/off wall +Loose +Loose +Loose +Loose +Lizards +Leaking +Leaking +Leaking +Leaking +Leaking +Leaking +Leaking +Leaking +Leaking +Leak +Key broken off +Window Film +Window Film +Install new +Install new +Install +Install +Install +Inspection required +Inspection +Latch/Closer/Hinge issue +Latch/Closer/Hinge issue +Latch/Closer/Hinge issue +Latch/Closer/Hinge issue +Latch/Closer/Hinge issue +Latch/Closer/Hinge issue +Handicap signage +Glass +Glass +Glass +Frozen +Flying Insects +Fire sprinkler +Fire alarm +False alarm +Face damage +Face damage +Face damage +Exit signs +Entire lot is out +Emergency lighting +Dragging +Dragging +Dragging +Dragging +Dragging +Dragging +Door slams +Door slams +Door slams +Door slams +Door slams +Door slams +Damaged poles +Damaged pipes +Damaged +Damaged +Crickets +Cracked +Cracked +Cracked +Clogged +Clogged +Clogged +Clogged +Cart guard +Cart guard +Cart guard +Cannot secure +Cannot secure +Cannot alarm +Breakers/Panels +Birds +Beeping +Bats +Ants +Annual inspection +Alarm not secure on door +Additional lighting requested +Additional lighting requested +4+ letters out +4 fixtures or more +4 fixtures or more +3 fixtures or less +3 fixtures or less +1-9 lamps out +1-3 letters out +Water leaking +Water leaking +Other +Other +Lighting issue +Lighting issue +Other +Other +Handle +Handle +Glass +Glass +Door +Door +Cooling issue +Cooling issue +Other +Other +Damaged +New Install +Other +Schedule Change +Cooling +Heating +Entire area +Survey +PM/Clean units +Office area +Stockroom +Sales +Not certain +Unit damaged +Unit stolen +All +Office area +Stockroom +Sales +All +Office area +Stockroom +Sales +All +Office area +Stockroom +Sales +All +Office area +Stockroom +Sales +All +Office area +Stockroom +Sales +Fastbreak Night 2 ALT +Dethatching +5.2 Strip Service +Janitorial Service 2X +Additional Wax +Additional Strip +Other +Strip Complete Exec20 +Strip Complete Exec +Supplies +STRIP CL +SCRUB AW +STRIP RM +STRIP DS +STRIP EX +Relocation +New Store +Buff Complete +Scrub Complete +Strip Complete +Porter Service +"Construction Sweep, Scrub, and Buff" +RLHDR +Windows Ext +Windows +Wood Cleaning Service +Detail Baseboards Expense Code: 294 +White Board Cleaning +Vent Cleaning by service +Spot strip (SPOT) +Restroom fixture installs +Power Washing (Floor Care) +Pre Scrape +Pre Scrape (PO) +Full Strip and Wax (PO) +Front of store Strip and Wax (PO) +Deep Scrub and Recoat (PO) +Half Strip and Wax (PO) +NO Show Denied +No Show Credit +No Show +Full Strip and Wax +Front of Store Strip and Wax +Deep Scrub and Recoat +Chemicals +BJ's Wholesale Time and Material Rate per hr +BTC - Trip Charge +BJ's Wholesale Strip and Wax - Night 2 +BJ's Wholesale Strip and Wax - Night 1 +Loading Dock Pressure Washing Service - Night 2 +Loading Dock Pressure Washing Service - Night 1 +High Dusting Service - Night 2 +High Dusting Service - Night 1 +Front Pressure Washing Service - Night 2 +Front Pressure Washing Service - Night 1 +Ceiling Tile Service - Night 2 +Ceiling Tile Service - Night 1 +Strip and Wax bill to Construction +Adjustment +Spray Wax and Buff +Janitorial Service +New Store Scrub and Recoat +Spot Strip (SS) +Fastbreak Night 2 +Concrete service for New store billed to Construction +Windows Int and Ext +Strip and Wax has exception +Scrub and Recoat +Strip and Wax +TR - Trip Charge +Store not prepared for service +Restroom Cleaning +Fuel Surcharge +FD Supplied Strip and Wax +"Sweep, scrub, and buff" +Strip and Wax OFF Service +Concrete Floors +Extra Labor due to poor floor condition +Carpet Cleaning/Extraction +Scrub And Recoat has exception +Sweep Mop and Buff has exception +Service Fine +"S1 - Plow, Shovel, deice the parking lot, sidewalk & loading dock" +Light debris removal +Powerwashing +Fall Cleanup +Other +Parking Lot Striping Monthly +Parking Lot Sweeping Monthly +Recurring Landscape Maintenance Monthly +Parking Lot Striping +Spring Cleanup +Parking Lot Sweeping +Parking Lot Repair +Additional Tree Trimming +Additional Mulching Service +Irrigation Repair Service +Large Debris Removal +Integrated Pest Management +Irrigation Head Replacement +Retention/Detention Pond Service +Rough Turf Areas/Field Service +Plant Replacement Service +Core Aeration +Fertilization Service +Irrigation Audit +Irrigation Shut Down +Irrigation Start Up +Mulch Service +Recurring Landscape Maintenance diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv new file mode 100644 index 000000000..c2e3ec704 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv @@ -0,0 +1,1788 @@ +Emergency Receiving Heater +Parts/Material +Visual Merchandising +Closet +Home Prep +Wall Fixture +Assembly +Clean +Inspect +Clean +Condition Assessment +Lessen360 Fees +Parts/Material +Parts/Material +Parts/Material +Lockbox +SaaS Fees +Medical Equipment +Owned Storage Unit +Asset Replacement +Roof +Pool/Spa +Plumbing +Pest Control +Paint +Masonry/Fencing +Landscaping/Irrigation +Inspections +General Maintenance +Garage Door +Foundation +Flooring +Fireplace/Chimney +Fencing/Gates +Electrical +Janitorial +Appliances +Air Conditioning/Heating +Roof +Pool/Spa +Plumbing +Pest Control +Paint +Masonry/Fencing +Landscaping/Irrigation +Inspections +General Maintenance +Garage Door +Structural +Flooring +Fireplace/Chimney +Fencing/Gates +Electrical +Janitorial +Appliances +Air Conditioning/Heating +Management Fee +Cellular Fee +Sensor +General Construction +ATM Project +Storage +Clinic Mail +Badges +Showcase +Showcase +Transport +Other +Projects +Deficiency/Repair +Drawer  +Repair +Repaint +Remove +Install/Replace +Fees +Clean +Install/Replace +Fees +Repair +Remove +Install/Replace +Fees +Clean +Repair +Repaint +Remove +Install/Replace +Inspect +Fees +Clean +Fees +Repair +Fees +Fees +Fees +Inspect +Fees +Remove +Fees +Fees +Repair +Fees +Front TV Display (DFW) +Unit +Unit +Date of Batch +Standard +Air Compressor +Anti Fatigue Mat +Digital Displays +Bird Habitat +Small Animal Habitat +Reptile Habitat +Betta Endcap +ATM Preventative Maintenance +Vacant Building +Janitorial +Floor Cleaning +Water Extraction +Piercing Equipment +Overflowing +Clean +Clean +Clean +Fees +Fees +Inspect +Inspect +Inspect +Inspect +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Install/Replace +Remove +Remove +Remove +Remove +Remove +Remove +Remove +Repaint +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Repair +Water Meter +Siding +Floor Care +Yehuda Diamond Detection Device +Henny Penny Pressure Fryer +Henny Penny SmartHold Holding Cabinet +Henny Penny Heated Holding Cabinet +Henny Penny Countertop Holding Cabinet +Grease Interceptor +Credit +Vacant Building +Move In/Out Inspection +Facility Management Visit +Plumbing +Kaba Lock +Temp Units +Move Out Inspection +Dock Levelers +Railings +Concrete +Permavault +Inspection +Video Doorbell +Survey Test +Produce Mister +IT Support +New Equipment Install +Dock Doors +Forklift +Industrial Fan +Survey +Dishwasher +Refrigerator +Eyecare Instruments +Well System +Sound Batting +FOM +Drive Thru +Junk Removal +Mini-Split +Parts/Materials +Waste Water Treatment +Broken +Environmental +COVID-19 +Pest Prevention +Unplanned Projects +Evac Station +Appliance Replacement +Replace +Repaint +Billing +Backflow +Preventative Maintenance +COVID-19 +Other +Interior Signage +Banners and Marketing +Exterior Signage +COVID-19 +Termite Prevention +Security Gate +Disinfection +Replace +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Evaluation +Doorbell +Door Lock +Hub +ADA Compliance +Handrail +Assess +Crispy Max +Landscape +Snow +Cash Safe +Phone Safe +Water Filtration +Bike Rack +Monthly Consumables Shipment +Day Porter +Additional Cleaning Services +Contracted Routine Services +Inspect +Inspect +Inspect +Inspect +Inspect +Summary +Repair +Remove +Repaint +Replace +Repair +Repaint +Replace +Repair +Remove +Repaint +Replace +Repair +Repair +Repaint +Repair +Remove +Repaint +Replace +Repair +Replace +Repair +Remove +Repaint +Replace +Repair +Replace +Repair +Repaint +Repair +Remove +Repaint +Replace +Repair +Repair +Remove +Replace +Repair +Remove +Repaint +Replace +Repair +Remove +Repaint +Replace +Repair +Repair +Remove +Repaint +Replace +Repair +Remove +Repaint +Replace +Repair +Repaint +Remove +Replace +Repair +Alarm system +GOI Beverage Coolers +Grab and Go +Beer Case +Three Door Beer Cooler +Egg Cases +Spot Boxes +Meat Walk In +Produce Walk In +Dairy/Deli Walk In +Deli Walk In +Dairy Walk In +Produce Case +Frozen Reach In +Frozen Coffin/Bunker +Deli Case +Meat Case +Salad Case +Produce Wet Rack +Kitty Cottage/Kennel +Kennel/Atrium +Pinnacle Unit +Gas Leak +Pallet Enclosure +Radon Mitigation +Soft Serve Machine +LED Interior Repair +LED Canopy Lighting +LED +Smash and Grab +Ultrasonic Machine +Steamer +Gem Scope +Fixture Installation +Towers +Towers +Showcase +Gates/Roll Doors +Spinners +Showcase +Posts +Payment +Shower Hose Bib +Ejector Pump +Retail Fixture +Railings +Lockers +Hand Edger +Edger Vacuum +Edger +Blocker +Tracer +Printer +Singularity +Line Dryer +Compressor +Oven +Coater +Chiller - Cylinders +Cylinder Machine +SGX +Eclipse Chiller +Eclipse +Warranty Fee +Leer Ice +Parts/Material +Alto Shaam Oven +Micromatic Dispenser +Electrical Survey +Wall Insulation +Recurring Maintenance +Post Move-in +Resident Orientation +Parts/Material +Parts/Material +Parts/Material +Sensor +Main controller +Lighting controller +RTU Controller +Violation/Fine +Project +Calibration +Water Filtration +Baking Oven +Soft Serve Machine +Hardening Cabinet +Blended Ice Machine +Quarterly +Tri-Annual +Annual +Hot Well - Cash Side +Hot Well - Office Side +Reach In Line 2 - Cash Stand +Reach In Line 1 - Office +Ware Washer +Bread Oven +Single Belt Toaster +Dual Belt Toaster +Multi-Hopper Sugar Machine +Sugar Machine +Dairy Machine +High Speed Oven +Hot Chocolate/Dunkaccino +Booster/RO Repair +High Volume Brewer +Iced Coffee Brewer +Coffee Grinder +Booster Heater +Keys +Storage Freezer +Meatwell Freezer +French Fry Freezer +Expeditor Station +Deli Cooler +Crescor Unit +Cooler +Wrap Station +Stove +Front Service Counter +Drive Thru Package Station +Display Glass +Headset System +Contracted Services +Miscellaneous Fee +Organics Container +Organics Pick-Up +Notification +Tilt Kettle +Other +Impact Doors +Exterior Violation +Building Violation +Stock Pot Stove +General +Dough Divider +Drive Thru +Vault +ATM - Signage of Vestibule +ATM - Signage of Unit +Credit +Preventative Maintenance +Signage Interior +Signage Exterior +ATM - Locks & Keys +ATM - Site Condition - Exterior +ATM - Presentation of Unit +ATM - Functionality of Unit +ATM - Site Condition - Interior +Emergency Services +Health & Safety +Kitchen Equipment +Fire Prevention +Recovery +Inspections +Site Hardening +Landlord Fee +Management Fee +Semi-Annual +Quarterly Service +Monthly Billing +Weekly Service +Daily Service +Emergency Access +Preventive Maintenance +Waste Pickup Fee +Exhaust Fan +Preventative Maintenance +Manual Transfer Switch +Automatic Transfer Switch +Alarm Bar +Storefront Tile +Metal Maintenance +Parking Services +ADA Chair Lift +Monitoring +Preventative Maintenance/Inspection +Pest Prevention +Backflow Preventer +Preventative Maintenance +Gas Booster +Emergency Lighting +Spinners +Showcase +Alarm Bar +EMS +Awning +Roof +Stove Top +Beer Bin +Plate Chiller/Freezer +Supply Line +Apron Sink +Survey +Cleaning +Stand Alone ATM Interior +Stand Alone ATM Exterior +Stand Alone ATM Unit Appearance +Stand Alone ATM Locks & Keys +Stand Alone ATM Functionality +Other +EMS Override +Blade +Exterior +Name Plate Install +People +Furniture +Equipment +Boxes / Crates +Art Work +Human Resources +Accounting +Environmental +Project - Unplanned +Project - Retail Projects +Project - Planned +Project - LOB Unplanned +Project - LOB Planned +Escort +Guard +Video Conferencing +Booking/Scheduling +A/V Equipment +Vaults +Teller Drawer +Safe Deposit Box +Safe +Night Drop +Digilock +Cleaning +ATM Unit Appearance +ATM Locks & Keys +ATM Interior +ATM Functionality +ATM Exterior +Secure Shred +Records Storage +Office Supplies +Office Equipment +Mail Delivery +Furniture +Courier +Coffee Services +Bottled Water +Background Music +Security Equipment +Knox Box +Furniture +Pharmacy Roll Door +High Electric Bill +Revolving Door +Sanitary Dispenser +Request New +Garbage Disposal +Cleaning +Supplies +Coffee/Tea Brewer +Shutters +Utility Notification - Miscellaneous +Utility Notification - Account Setup +Utility Notification - Account Closure +Interior Plants +Hang Items +Store closure +Utility +High Gas Bill +Handicap Signs +Security Services +Cook Line Reach In Cooler +Freshness Cooler +Big Dipper +Clamshell +Roll Gates +Ceiling Fan +Ceiling Fan +Roof Sign +Parapet Beams +Wood Beams +Display Pie Case +Cut Pie Case +Open Burners/Egg Burners +Drawer Warmer/Roll Warmer +Cabinet - Pretest Room Cabinet +Cabinet - Dr. Exam Desk w/Sink +Cabinet - Dr. Exam Upper Cabinet +Cabinet - Contact Lens Back Counter +Cabinet - Selling Station +Cabinet - Understock Mirror Cabinet +Cabinet - Understock Cabinet +Cabinet - Credenza +Cabinet - Cashwrap +Drawer - Dr. Exam Desk +Drawer - Contact Lens Table w/sink +Drawer - Contact Lens Back Counter +Drawer - Understock Cabinet +Drawer - Sit Down/Stand Up Dispense +Drawer - Credenza +Drawer - Selling Station +Drawer - Cashwrap +Cashwrap +Eye care display +Eye care wall station +Promotional signs +Windows Interior +Windows Exterior +Smoke Alarm +Storage Room Doors +Exterior Doors +XOM Mystery Shops +Wiring +Water Treatment +Water Leak +Water Filters +Wash +Verifone +VCR +Utility +USE Repairs +Underground Gas +Truck Stop Scale +Truck Stop Air/Water/VAC +Tank - Warning +Tank - Alarm +System - Warning +System - Alarm +Survey +Structure +Store Front Sign +Steamer +Splitter +Simmons Box +Sensor +Security System Relocation +Security System +Retail Automation +Remove/Relocate Equipment +Register +Proofer +Project +POS/Nucleus/Passport/Ruby +POS +POS +Pole Sign +Pit +Partial Power Outage +Panic Device +Outlet +Out of Gasoline +Other +Open Air Case +Monitor +Money Order Machine +Money Counter +Menu Board +Lottery Machine +Line - Warning +Line - Periodic +Line - LLD +Line - Gross +Line - Annual +Line - Alarm +Lighting +Kiosk +Iced Coffee/Tea Machine +Hot Coffee Machine +HES Work +Healy - Warning +Healy - Alarm +Gasoline Equipment +Gas Tank Monitor - VR +Gas Tank Monitor +Gas Pumps/Equip/Other +Gas Pumps/Equip/Dispensing +Gas Island +Gas Hazard/Clean-Up +Gas Canopy Damage +Gas Accessories +Fuel +Frozen Carbonated Beverage Machine +Freestyle Unit +Fountain Dispenser +Food Equipment +Exterior Fire Extinguisher +Espresso +Equipment +Environmental Testing +EMS +Dryer +Disputes +Discretionary/Market Charge +Cup Holders +Credit/Debit/EBT +Creamer +Counter Top +Copier +Construction +Compressor +CO2 Monitor +Chemicals +Cappuccino +Canopy Signage +Bullock Interface +Brushes/Sprayer +Breaker +BIR +Beverage Equipment +Bay +Back Office +AQIP +"Applications, Software and Portal" +Air/Water/VAC +A- Inspection Notices +Paper Shredding Services +New Equipment Install +New Equipment Install +New Equipment Install +New Equipment Install +UChange Locks +Fitting Room Doors +Fitting Room Doors +Soap Dispenser +Vacuum +Garment Steamer +Food Truck +Not Working +Self - Serve +Carousel +Expansion Joints +Smoke Evacuation +Parking Deck +Cooling Tower +Split Systems +Taco Bar +Range +Steam Table +Indoor Playground Equipment +Combi Oven R/O +EMS +Powerwashing +Parking Lot Sweeping +Debris Removal +Other +Entry Gates +Overhead Doors +Other +Procare +Pool Deck +Tub/Tub Surround/Shower Surface +Glass Enclosure/Shower Door +Water Intrusion +Structural +Interior - Trim/Baseboard +Discoloration +Bath Accessories +Washer +Wall Oven +Natural Disaster +CO Detector +Vents +VI Monitor +Bullet Resistent Enclosure +Door +Video Loss Pump +Burglar Alarm +Devices +System Down +DVR +7-Eleven Parts +Access Control System +Pressure Washer +Deionized Water System +Fire Door +Water Treatment +Humidification System +Building Automation +Boilers +Scales +Expo Line Cold Rail +Bar Refrigerator +Ice Bin/Ice Chest +Bar Ice Cream Freezer +Glass Chiller +Bottle Chiller +Cold Well +Back Door +Steamer +Hot Well +Oven/Range +Bag Sealer +Warming Drawer +CharBroiler +Wallpaper +Wine Dispenser +Space Heater +Security Cage Door +Dumpster Gate/Door +Fire Exit Door +To Go Door +Back Door +Mechanical Room +Informational Only +Reach In Freezer +Handwash Sink +Woodstone Oven +Floor Mixer +Point Central +RTU - New Unit +Produce Mister +WIC Upgrades +UST +Testing Repairs +Sump Inspection +Stand Alone +Sales Tour +Retest +Rest PM +Rapid Eye Cameras +Quality Assurance +Pre-Inspection +Power Washing +Phone Lines +Payspot +Passbox +Other +Notice Of Violation +Not Working/Broken/Damaged +New Equipment +Leak Detection +Kiosk +Inventory Variance +Inspection +Hot Dispenser +Heater +Hanging Hardware Replacement +Gas TV +Fore PM +EPOS +Electronic Safes +Divestment +Dispenser Calibration +Dispenser +Digital Media +Diamond Sign Relamp +Construction Walk-Thru +Cold Dispenser +Ceiling Inspection +Card Processing Network +Canopy Sealing +BOS +Bathroom Upgrades +Back PM +Automated Inventory Reconciliation +ATM +ATG +Alternative Fuels CNG +Alternative Fuels +Equipment +Electric Strikes +Exterior Lighting +Repairs +Building Cabinets +Bulk Ice Freezer +Temperature Taker +Tablet +Sales Floor +Prep & Temp +ITD Printer +Equipment +Walls +Ceiling +Exterior Structure +Inspection +Built In Safe +Floor +Price Sign +Preventative Maintenance +General Plumbing +Emergency +Critical +Turn Assignment +IT Equipment +PA/Music System +Fixture +Kiosk +Registers +Time Clock +Open Top Containers +Storage Containers +Other +Mold Testing +Barriers and Asset Protection +Wall Paneling +Walk Off Mats +Fire Riser +Roof Ladder +Roof Hatch +Recessed Floor Sink +Inspection +Parts Washer +Vending +Uniforms +Shipping +Safety Equipment +Rags +Interior Plants +Fire Extinguisher Cabinet +Fire Pump House +Pit +Paint Booth Cabin +Motor +Light Fixture +Filters +Fan +Ductwork +Doors +Controls +Burner Issue +Belts +Bearings +Airflow +Safe +Floor Mat +Water System +Popcorn Machine +Coffee Maker +Handyman +Asset Tagging +Picker Lift +Hi-Low Lift +Crane/Hoist +Chiller +Storm damage +Delivery truck impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Storm damage +Delivery truck impact +Car impact +Automatic Doors +Exterior Doors +Cage Door +To-Go Doors +Accent Border Lighting +Salsa/Chip Cooler +Salsa Cooler +Ice Cream Freezer +Staging Cooler +Dressing Cooler +Lettuce Crisper/Cooler +Reach Ins - Pre-Impinger Protein Cooler +Reach Ins - Flat Top Drawer Cooler +Reach Ins - Zone 3 Dessert Cooler +Reach Ins - Zone 3 Sald Nacho Cooler +Reach Ins - Zone 3 Staging Cooler +Reach Ins - Zone 3 Cooler +Reach Ins - Zone 2 Staging Cooler +Reach Ins - Zone 2 Expo Cooler +Reach Ins - Zone 1 Cooler +Reach Ins - Fry Station Freezer +Reach Ins - Fry Batter Station Right +Reach Ins - Fry Batter Station Left +Patio Mister System +Pest Repair/Prevention +Combi/Convection Oven +Tortilla Grill/Press +Chip Warmer Cabinet +Bun Toaster +Heat Lamps +Instatherm/Cheese Melter +ACT Holding Bin +Kitchen Hoods - Other +Kitchen Hoods - Prep +Kitchen Hoods - Fry +Kitchen Hoods - Main +Conveyor Fed Impinger Oven/WOW +Conveyor Fed Oven - CTX +Glass Chiller +Bottle Chiller +Bar Margarita Cooler +Remote Draw Cooler +Keg Cooler +Beer System +Remodel +Stainless Steel +Decorative Fountains +Awnings +Booster Heater +Panini Press +Waste Illegal Dumping +Waste Holiday/Planner/Reset +Waste Fixtures & Equipment +Billing Issue +Locks +Waste +Recycling +Baler/Compactor +Slab Issue +Settlement Cracks +Kitty Cottage/Kennel/Cage +Salon Grooming Table +Salon Dryer +Amigo Cart +Salon Dryer Hanger +Playroom Wall/Gate +Pallet Racking +Kitty Cottage +Kennel/Cage +Hose Cubby +Single Person Lift +Pallet Jack +Forklift +Shopping Cart +Interior Signs +EAS Anti-Theft System +Camera +Safe +Alarm +Refrigerator +Raw/Natural Frozen Dog Food +Pinnacle Freezer +PetsHotel Mini Fridge +Pet Care Freezer +Ice Cream Machine +Sump Pump +Sink +Salon Shampoo Proportioner +Trench Drains +Blue Canister Filter +Eye Wash Station +Restroom Urinal +Floor/Sink Drains +Hose Reel +Inspection +Fleas/Ticks +Roll Door +Pad Lock +Keypad Lock +Interior Doors +Floor Care +Chemical Spill +Chemical Disposal +Bio Hazard Clean-Up +Regulatory Agency Inspection +Extra Pick-Up Needed +Hazardous Material Pick Up +Oops Station +Anchor/Mount/Tether +Dock/Levelers +Parking Lot Cart Corral +In-Store Cart Corral +Escalator +Cove Base +Acrovyn Wall +Fireplace +Wall Tile +Floor Scrubber +Sump/Sensors +New System +UV Bank/Bulbs Burnt Out +UV Bank Leaking +Tank Lighting Burnt Out +Tank Damaged/Leaking +Rack Rusting +Oxygen Generator +No Power +Heater +Fluidized Bed +Flowmeter +Flooding +Fish Ladder +Drain Clog +Cycron Vessel/Treatment +Control Panel Lights +Control Panel Computer Issue +Comet System +Chiller +Battery Backup +Pump Not Working +Pump Making Noise +Plant Tank Issues +Parking Lot Cart Corral +Doorbell +Generator +Video Equipment +Interior Doors +Bag Holder +Conveyor +Donation Box +Lockbox +Checkstand +Desk +Vending Equipment +Sanitizer +Detergent Dispenser +Broken Fixture +Door/Lock Issue +Damaged/Broken Glass +Electrical/Lighting Issue +Fan Issue +Interior Filters +Move-Out +Move-In +Housing Inspection +Turn Assignment +Mop Sink +Reverse Osmosis +Humidifier +Grading +Inspection +Asset Survey +Inventory Survey +Shampoo Bowl +Automatic Doors +Compressed Air +Door Drop +Storage Room Doors +Bay Door +LED Canopy Lighting +LED Road Signs +LED Building Sign +LED Canopy Lighting +LED Interior Repair +LED +Refueling Doors +Menu Board +Sandwich Station +Upright Bun/Fry Freezer +Cheese Warmer +Frosty Machine +Mop Sink +Hand Sink +Dishwasher +Lemonade Bubbler +Chili Cooker +Chili Wells +MPHC Drawer +Fry Dump Station +Bun/Bread Warmer +Tea Machine +Toaster +Front Counter +Leak Detection +Plaster Issue +Swamp Cooler +Drive Thru +Prep Table +Water Filtration +Cheese Machine +Shake Machine +Air Hot Holding Cabinet +Air Fry Station/Dump +Cook'n Hold Pod +Contact Toaster +Beef Holding Cabinet +Front Line Partition +Drive Thru +Siding +Pool Screens +Gophers +"Birds, Bats, Racoons & Squirrels" +Wasps and Bees +"Snakes, Lizards & Other Pests" +Bed Bugs +Wasps/Bees +Raccoons/Squirrels +Move-In Orientation +Monument +Pylon +Roof Hatch +Gasket +Neon Signs/Lighting +Rubber Flooring +Cook/Hold Cabinets/Altosham +Salamander Toaster +Ups - Battery Inspection +Supplemental AC Units +Server Door +Security Door +Egress Doors +High Humidity +Point Central +Demolition +Inspection +Outlet/Switch +Exterior +Exterior - Trim +Exterior - Siding +Microwave +Demolition +Install only +Lifts +Elevator +Carwash +Lifts +Car Impact +Lifts +Building Sign +Canopy Lighting +Janitorial Supplies +Janitorial - Shop Floor Cleaning +Janitorial - Night Cleaning +Air Compressors +Lifts +Trash Removal & Recycling +Office Furniture +Other Shop Equip +Tire Alignment +Paint Booths +Shop Maint Equip +Air Hoses & Reels +High Speed Doors +Furniture +Carpet +Furniture +Fire Alarm +Elevator +Bollards +Elevator +Window Glass +Roll Gates/Grilles +High Speed Doors +Elevator +Rodent Repair/Prevention +Pipe Leak +Security Alarm +Monument Sign +Walk In Beer Cooler +Walk In Freezer +Walk In Cooler +Restroom +Shelving +Server Station +Bar +On Demand IT +Audio Visual +Bulk Oil Recycling System Maintenance +Reach Ins-upright +Soda Dispensers-beverage machine FOH/DT +Hostess Stands +Locks +Powersoak +Cheese Melter +Under Counter Freezer +Water Softener/Treatment +Receiving Doors-service Door +Soda Dispensers/Ice Machine +Cook And Hold Cabinets-Heated cabinets +Cans/Spot/Track Lights/Pendant +Accent Lighting +Receiving Doors- Service door +Thermostat/Energy Management System +Roof Top Unit +Restroom Ventilation/Exhaust Fan +Controls +Condensing Unit +Parts +Entrance Doors +Cooler +Water Softener +Waffle Iron +Under Counter Refrigerator +Trash Receptacle +Trash +Track Or Grid +Track Lights +Toaster Four Slice +Toaster Conveyor +Three Compartment Sink +Suppression Systems +Supply Diffusers +Steam Table/Soup Warmer +Spot Lights +Soup Warmer +Shed/Outbuilding +Sewer Line +Sewage Pump +Septic System +Salad Unit +Safe +Roof +Return Grills +Refrigerated Drawers +Prep Sink +Plants +Picnic Table +Pendant Lights +Patio Furniture +Partition +Paneling +Novelty Case/Coffin Freezer +Multi Mixer +Mixing Valve +Mirrors +Milk Dispenser +Metal +Manhole +Make Up Air +Lift Pump +Ladder +Kitchen Spray Nozzle +Kitchen Sink +Kitchen Plumbing +Kitchen Doors +Kitchen Doors +Kitchen +Incandescent +Ice Tea Dispenser +Ice Cream Fountain With Syrup Rail +Ice Cream Dipping Cabinet +Host Stands +Hood Fire Suppression System +Grease Containment System +Grease Containment +Gooseneck +Furniture +Fudge Warmer +FRP Paneling +Friendz Mixer +Friendz Dipping Cabinet +French Fry Warmer +Fountain +Food Warmers/Heat Lamp +Flooring +Floor Tile +Fixtures +Exhaust Hood +Exhaust Fan Restroom +Exhaust Fan Mechanical Room +Exhaust Fan Dish Room +Exhaust Fan +Ductwork +Dry Storage Shelving +Doorbell +Display Freezer +Dipping Cabinets +Dipper Well +Diffuser +Desk +Deep Cleaning Service +Décor/Artwork +Damper +Cupola +Condiment/Syrup Rail +Communication Wiring +Commissary +Columns +Coffee Satellites +Coach Lights +Chest Freezer +Chandelier +Ceiling Fans +Cash Drawer +Caramelize Toaster +Cans +Broiler +Booths +Blinds/Shades +Benches +Bag-N-Box Racks +Baby Changing Station +Audio/Visual +Air Curtain +Lockout/Eviction +HOA/City Inspection +Section 8 Inspection +Cleaning +Termites +Stairs/Stair Railing +Rodents/Large Pests +Ants/Small Pests +Hand Dryer +Ceiling Fan +HOA +City +Other +Move Out Inspection +Move In Inspection +Walkway +Driveway +Rx Drive Thru Intercom +Rx Drive Thru Drawer +Rx Drive Thru Bell / Bell Hose +Roll door +Other +Other +Other +Other +Other +Other +Women'S Changing Room Toilet +Women'S Changing Room Shower +Women'S Changing Room Shower +Water Softener +Wall Repair +Stop Sign +Revolving Doors +Refrigeration +Ramp +Pressure Washing +Pedithrone +Other +Mirror +Men'S Changing Room Toilet +Men'S Changing Room Shower +Men'S Changing Room Shower +Lighting +Laundry Room +Kitchen Equipment Quarterly Service +Janitorial +Ice Machine +Hoods +Grease Trap +Entrance Doors +Duct Work +Drain Cleaning +Digilock +Coolers/Freezers +Contract Maintenance +Boiler +Backflow +Air Curtain +Transition +Tle Stairs +Restroom Stall Door +Restroom Partitions +"Restroom Fixtures, Non Plumbing" +Racking +Quarry Tile +Outside Garden Irrigation +Interior Roof Drain +Guard Rails +Grease Trap +Flag Pole +Epoxy +Drain Grates +Cove Base +Column +Changing Station +Changing Room Door +Ceramic Tile +Bollard +Baseboard +Move Out Inspection +Move In Inspection +Rails +Drywall +Ceiling +Bathroom Fan +Window glass +Stockroom Doors +Stockroom Doors +Roll gates/grilles +Roll door +Restroom Doors +Restroom Doors +Receiving Doors +Receiving Doors +Parking lot/Security lighting +Panic Device +Panic Device +Other Door +Other Door +Other +Other +Other +Other +Office Doors +Office Doors +Interior Lighting +Interior electrical +Intercom +Exterior electrical +Entrance Doors +Entrance Doors +EMS +Door glass +Directional Signage +Canopy lighting +Other +Other +Screens +Coverings/Blinds +Roofing Material +Gutters +Service +Fencing/Gate/Locks +Equipment +Tub/Shower/Sink +Toilet +Interior Lines/Fixtures +Hot Water Heater +Glass Enclosure +Gas Lines +Exterior Lines/Fixtures +Bath Accessories +Interior +Garage +Exterior +Drywall +Cabinets +Shutters +Mailbox +Gates +Fencing +Brick/Concrete +Pest Control +Other +Fireplace +Cleaning +Trees/Plants +Irrigation +Door +Accessories/Opener +Wood Laminate +Vinyl +Vertical Tile (Bath/Kitchen) +Tile +Stairs/Stair Railing +Carpet +Wiring +Smoke & Carbon Monoxide Alarms +Outlet +Interior Lighting +Exterior Lighting +Ceiling Fan +Windows +Structural +Interior - Trim/Baseboard +Interior - Hardware/Locks +Interior - Doors +Exterior - Hardware/Locks +Exterior - Doors +Countertops +Cabinets +Washer/Dryer +Vent Hood +Refrigerator +Range/Oven +Microhood +Garbage Disposal +Dishwasher +Cooktop +Unit +Thermostat +Backflow +Supression Systems +Sewer Backup +Roof Hatch +Rolling Inventory +Restrooms +Receiving Dock +Other +Other +Exit Doors +Entrance Door +Dark Store +Pressure Washing +Other +Knife Sharpening +Kitchen Hoods +Grease Traps +Conveyor Fed Oven +SIM +Cleaning +Walk Ins +Tilt Skillet +Soda Dispensers +Smoker +Slicer +Salad Bar +Rethermalizer +Reach Ins +Plate Chiller/Freezer +Oven +Mixer +Microwave Oven +Make Tables +Ice Machines +Hot Well/Soup Well +Grill/Griddle/Flat Top +Fryer +Food Processor/Blender +Espresso Machine +Dishwasher - No conveyor +Dishwasher - Conveyor Belt +CVAP Cook and Hold Cabinets/Proofer/Retarder +Cook and Hold Cabinets +Conveyor Fed Pizza Oven +Coffee Maker +Beer System +Wood +Wildlife +Washer +VCT +Unit Repair +Unit Refrigerator +Unit number Sign +Security Vehicle +Sales HVAC +Safety Warning Sign +Roof Leak +Rodents +Road Sign +Roaches +Repair - Spa +Repair - Pool +Repair - Equipment +Press +Pickup +Passenger van +Other flying Insects +Other crawling insects +Other +Not Operating +Marble +Leak - single unit +Leak - Multiple Units +Ironer +Gutters +Guest Unit HVAC +Granite +Golf Cart +Freight Van +Folder +Fire Suppression System +Fire Alarm System +F&B HVAC +Entry Doors +Dryer +Downspouts +Directional Sign +Concrete +Closet Doors +Chemistry Balancing +Check In Center HVAC +Ceramic Tile +Carpet +Building Sign +Birds/Bats +Bicycle/Tricycle +Bees/Wasps +Bedroom Doors +BedBugs +Bathroom Doors +Ants +Windows +Other +Wood +Carpet (Obsolete) +VCT +Concrete +Exterior - Other +Walls +Storm Preparation +Storm damage +Sidewalks +Pest Repair/Prevention +Retention Ponds +Remediation +Parking lot +Painting +Other +Light Poles +Irrigation +Fencing +Elevator +Dumpster Enclosure +Drywall +Directional Signage +Delivery truck impact +Conveyor +Ceiling Tile +Ceiling +Car impact +Canopy +Bollards +Baler/Compactor +Window glass +Water heater +Water fountain +Under canopy +Stockroom Doors +Roof Leak +Roll gates/grilles +Roll door +Rodents +Road sign +Restroom Toilet +Restroom Sink +Restroom Doors +Receiving Doors +Parking lot/Security lighting +Panic Device +Other Pests +Other Door +Other +Office Doors +No water +Mop sink +Locks +Interior lighting +Interior electrical +Inspection +High Water Bill +High Electric Bill +Gutters +Floor drains +Fire System monitoring +Fire sprinkler +Fire Extinguisher +Fire Alarm +Exterior hose bib/water meter +Exterior electrical +Entrance Doors +EMS +Downspouts +Door glass +Directional +Canopy lighting +Building sign +Birds/bats +Backflow test +Reddy Ice +Pepsi +Good Humor +Freezer +Cooler +Coke +Cages +EMS +Temporary Units +Other +Vandalism +Water leak +Making noise +No airflow +Not heating +Not cooling +Floor Care +IVR Fine +Snow +Striping +Landscaping diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv new file mode 100644 index 000000000..0e31e1407 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv @@ -0,0 +1,39 @@ +Pending Schedule +Pending Dispatch +Pending Vendor Acceptance +Scheduled +On Site +Pending Vendor Quote +Vendor Quote Submitted +Pending Client Approval +Client Quote Rejected +Client Quote Approved +Return Trip Needed +Work Complete Pending Vendor Invoice +Vendor Invoice Received +Pending Invoice Approval +Vendor Invoice Rejected +Completed And Invoiced +Vendor Paid +Closed +Resolved Without Invoice +Resolved Without Dispatch +Cancelled +Work Order Avoidance +Pending Self-Help Approval +Self-Help Approved +Deferred +Landlord Resolved +Vendor Quote Rejected +Self-Help Rejected +Billed - In Progress +Billed +Missed +Rescheduled +Completed +Pay to Affiliate +Expired +Void +Log Refusal +Service Pool +Pending Invoice Tax diff --git a/src/WebStarter/WebStarter.csproj b/src/WebStarter/WebStarter.csproj index 5a7c6eb7b..082ac578e 100644 --- a/src/WebStarter/WebStarter.csproj +++ b/src/WebStarter/WebStarter.csproj @@ -37,6 +37,7 @@ + diff --git a/src/WebStarter/appsettings.json b/src/WebStarter/appsettings.json index 071b279a5..5dfcffe69 100644 --- a/src/WebStarter/appsettings.json +++ b/src/WebStarter/appsettings.json @@ -836,7 +836,8 @@ "BotSharp.Plugin.ExcelHandler", "BotSharp.Plugin.SqlDriver", "BotSharp.Plugin.TencentCos", - "BotSharp.Plugin.PythonInterpreter" + "BotSharp.Plugin.PythonInterpreter", + "BotSharp.Plugin.FuzzySharp" ] } } From f3a0101596046524b65909dbe7c6469782e95524 Mon Sep 17 00:00:00 2001 From: Yanan Wang Date: Thu, 6 Nov 2025 14:18:26 -0600 Subject: [PATCH 3/6] Add cache for load data --- .../BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs | 1 + .../BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs index 87bb8d9d1..961f9b1c8 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs @@ -38,6 +38,7 @@ public async Task AnalyzeTextAsync(TextAnalysisRequest req var tokens = TextTokenizer.Tokenize(request.Text); // Load vocabulary + // TODO: read the vocabulary from GSMP in Onebrain var vocabulary = await _vocabularyService.LoadVocabularyAsync(request.VocabularyFolderName); // Load domain term mapping diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs index 0be6daaa1..2a917fcb9 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs @@ -1,4 +1,5 @@ using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Core.Infrastructures; using CsvHelper; using CsvHelper.Configuration; using Microsoft.Extensions.Logging; @@ -16,6 +17,7 @@ public VocabularyService(ILogger logger) _logger = logger; } + [SharpCache(60)] public async Task>> LoadVocabularyAsync(string? foldername) { var vocabulary = new Dictionary>(); @@ -50,6 +52,7 @@ public async Task>> LoadVocabularyAsync(strin return vocabulary; } + [SharpCache(60)] public async Task> LoadDomainTermMappingAsync(string? filename) { var result = new Dictionary(); From c982501b059852b680f1064e22bb23c970ac9573 Mon Sep 17 00:00:00 2001 From: Yanan Wang Date: Mon, 10 Nov 2025 10:16:33 -0600 Subject: [PATCH 4/6] delete per request --- .../BotSharp.Plugin.FuzzySharp.csproj | 4 + .../data/fuzzySharp/domainTermMapping.csv | 5 - .../vocabulary/client_Profile.ClientCode.csv | 514 - .../vocabulary/client_Profile.Name.csv | 514 - .../vocabulary/data_ServiceCategory.Name.csv | 157 - .../vocabulary/data_ServiceCode.Name.csv | 10189 ---------------- .../vocabulary/data_ServiceType.Name.csv | 1788 --- .../vocabulary/data_WOStatus.Name.csv | 39 - 8 files changed, 4 insertions(+), 13206 deletions(-) delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj b/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj index 8561dc204..ec9dfde32 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/BotSharp.Plugin.FuzzySharp.csproj @@ -18,4 +18,8 @@ + + + + \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv deleted file mode 100644 index ff877b167..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/domainTermMapping.csv +++ /dev/null @@ -1,5 +0,0 @@ -term,dbPath,canonical_form -HVAC,data_ServiceCategory.Name,Air Conditioning/Heating -PVA,data_WOStatus.Name,Pending Vendor Approval -PVQ,data_WOStatus.Name,Pending Vendor Quote -WCPVI,data_WOStatus.Name,Work Complete Pending Vendor Invoice \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv deleted file mode 100644 index 1805e6ac2..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.ClientCode.csv +++ /dev/null @@ -1,514 +0,0 @@ -WA -KO -BBY -LFD -WT -TM -ORAP -REG -CEC -OM -DGL -PS -TB -AAP -KU -DRI -GE -MIC -FDR -WNS -CPT -JAB -PB -JP -OD -WPH -SV -BEAU -PL -OP -AR -HB -DTV -RB -BELK -BLK -BMO -BGR -COMP -LAC -MI -RBSM -RBS -SAP -CO -CB -BJ -DHG -FFBGR -KEN -FM -LEN -LFS -MU -PNC -PT -RD -RY -TMOR -TMUS -TMO -UTC -SB -FR -HP -CM -TCI -MT -RYCN -CAR -OSH -TYCO -AZ -SM -TFS -RDS -GPM -FA -ELS -DEX -NV -FRY -ARB -ONP -BD -HA -VSAAS -TONE -RT -LLF -PA -BWW -GPMS -NT -ST -WPHR -HAD -AMF -WMC -OWRG -TCF -USPS -NEFB -NEFP -CF -FRS -RHT -TDB -SIT -ARG -CASM -FHN -SLM -FOL -RL -RW -TRIL -MCYS -AV -OPEN -DTC -LLQC -PET -ACE -RLY -SFCJ -BNKR -ARAC -ARSEA -ADVAM -DEL -DRT -COSI -GPS -TMI -RMH -SEI -TRANE -JR -IH -ARDNVGL -ARFLO -GGP -ARWM -SUN -TBG -CC -JPMC -SMC -ARRES -RAM -VIS -CLK -SPP -PEC -WCS -DG -AHS -PUB -SIG -RET -SA -NHR -LO -SC -CRX -RIO -RHA -GO -GM -PAY -BOJA -NDCP -GP -ZG -ND -SMRT -GALL -APX -CW -GRG -ALD -GSS -BLNK -SUB -CHKR -FSR -DIV -GL -RU -WV -ELK -QUA -ID -ACX -FFD -DTR -MC -LSH -UP -PND -LMFS -KBC -ASA -SFRA -AMR -MYPM -HNGR -x -HR -SPO -PAD -MPH -AO -IDT -CE -DVI -CVP -ML -PF -JPJLL -DMKP -RLB -FTA -PG -CCH -AEG -DBI -GRN -HRC -BWH -CCC -PWA -IR -FULL -TPG -LL -GAR -LUX -GPMO -EVNST -FRON -USPSJ -MAN -FPMP -TOM -STR -ARN -TCG -SYL -MCPM -RPM -KD -HS -RDP -WIN -ORP -PNT -AUD -BRG -CTG -VINE -TCB -VEI -ACM -DDD -JFC -SO -RPW -AHC -SPW -DT -FD -MSTC -PFH -SLS -ETL -BHI -MCH -REZ -SPR -DAR -COS -KPL -ILE -MCLT -AS -BC -FK -AMH -HHM -PR -GNSD -HY -KHC -MCK -SSD -EC -STRP -HRG -FILE -ATHS -VAZ -ER -PC -MER -TMP -SRE -SUND -CFP -AUTH -CLC -SREG -LP -GJ -MR -OV -HPM -CAL -URB -IF -MRE -RPMP -FIN -RP -VV -WW -AL -AB -FRFM -ASI -GNS -EK -TFE -MCR -WORX -FH -RAZ -GUP -CAMP -ENT -CHS -KNO -BL -PFI -UDR -SLR -HTSF -MLC -WMH -EDGE -JC -BH -AHR -TIP -COE -WR -FFHB -WREF -RRH -SHB -APCH -CAM -BV -ASH -MARB -FP -BS -TMY -NB -BFG -IRP -TW -CMK -RLI -PJRG -ROL -MSTCC -BGO -POR -SMR -PIRM -MCTC -STOA -HO -ATRIA -LT -HIP -ARK -PV -TH -MCF -FNHW -LC -LSN -CBB -AH -ALT -AJC -PRT -TWC -RRI -HW -GR -LPS -HV -FRM -BRPC -SFR -PBMD -TLG -WSC -CFI -HSU -BN -ANY -JTCR -BCL -BSC -AHV -KRS -4DP -RES -SCH -IGO -STYL -CMW -PP -MCRH -BPA -BHA -CED -SUNC -CRST -STANDRESI -STANDCOM -STANDCP -CAP -LE -INC -CT -MTR -MAW -ABM -LDF -HH -SRNRP -TTC -CLS -STANDTURN -HMR -IAM -OR -JTR -IAMB -EJP -ART -HSUC -CDV -QH -REOP -ORM -MSR -BRPRES -ASG -SSE -BRPCOM -LL2 -TG -FEG -JAD -CPY -LCHL -MOD -PRM -GOP -BUDD -GSM -TRNKY -C7W -AIM -LRSC -RMG -TRI -SS -SMB -CCM -IGOW -SCM -FAMD -SSM -SRIP -MH -RWR -SIP -MED -RBVP -STANDTRRM -ASML -HAL -CRF -KWI -KW -ALL -MCU -WPL -CGP -TRIO -ITW -VGM -STO -LEG -NKG -CH diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv deleted file mode 100644 index d19e2ed4d..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/client_Profile.Name.csv +++ /dev/null @@ -1,514 +0,0 @@ -Walgreens -Kohl's -Best Buy -Legacy Family Dollar -Walmart -Tmobile -O'Reilly Auto Parts -Regis Corporation -Career Education Corporation -Office Max -Dollar General Legacy -Public Storage -Taco Bell -Advance Auto Parts -Knowledge Universe -Diamond Resorts -GE -Michaels -Famous Daves -Windstream -Crypton -"JoS. A. Bank Clothiers, Inc." -Protein Bar -JP Morgan Chase -Office Depot -Waypoint Homes -CBRE C/O Supervalu -BEAU -Pathlight -OneProp -Aarons -Harris Bank -DirecTV -Rainbow -Belk (Direct) -Belk (MES) -BMO -Brown Shoe Group -Compass Bank -Lacoste -Mitre -RBS (MES) -RBS Direct -Sapient -CapitalOne -Coldwell Banker OLD -BJ's -DelHaize Food Lion -Famous Footwear BGR -Kenneth Cole -FirstMerit Bank -Lendmark Financial (MES) -Lendmark Financial Direct - Legacy -Murphy USA -PNC -Precision Time -Red Door Day Spa -Ryder -Tmobile (MES) -Tmobile Direct -Tmobile JLL -United Technologies -Silver Bay -Fred -Home Partners of America -ContextMedia -Tire Centers Inc -Mario Tricoci -Ryder Canada -Carters -OshKosh -Tyco -AutoZone -Siemens -Twenty Four 7 Global -Realogy Discovery Survey -GPM Investments -Fallas -ELS -Dollar Express -National Vision -Friendlys Restaurants -Arbys SMS -One Plus -Brookdale -Hendrick Auto -Metaverse (DON'T DISPATCH) -SMS Billing -Release Testing -LL Flooring -Panda -Buffalo Wild Wings -GPM Southeast Holdings -Northern Trust -Stifel -Waypoint Homes Residential -Home Advisor -American Freight -Walmart CBRE -Out West Restaurant Group -Tri City Foods -USPS -Northeast Foods - Burger King -Northeast Foods - Popeyes -Carrols Foods -Freds -PenTest -TD Bank -Stand Interior Test -Arbys -Casual Male -First Horizon National -SLM Realty -Follett -RL Foods -Renters Warehouse -Tricon Legacy -Macys -Art Van -Opendoor -Discount Tire -Lumber Liquidators Canada -PetSmart -Ace Hardware -Coldwell Banker -Stedfast Foods -Brinker -Aramark Amcor -Aramark Samsung Electronics America -Advance America -Del Taco -DriveTime -Cosi -Bridge Homes -Tuesday Morning -RMH Applebees -7-Eleven -Trane -Johnny Rockets -Invitation Homes -Aramark DNV GL -Aramark Flowers Foods Inc -General Growth Properties -Aramark Waste Management -Sunoco -The Beautiful Group -Charming Charlie -JPMC -Shari's -Aramark ResCare -Resolute Asset Management -Visionworks -Clarks -SP+ -Phillips Edison & Company -White Castle System Inc -Dollar General -Ashley HomeStore -Publix Super Markets -Signet -Retail -Second Avenue -National Home Rentals -LendingOne -Sams Club -Conrex -Cafe Rio Inc -RHA Health Services -Grocery Outlet -Grand Mere -Payless ShoeSource Inc -Bojangles -NDCP-Dunkin -GridPoint -Zillow Group -Nestidd -Stein Mart -Galls LLC -Apex National Real Estate -Camping World -Grainger -ALDI -Guess Inc -Blink Fitness -Subway -Checkers and Rallys -Foresite Realty -Divvy Homes -Green Line Capital -RENU Management -Wireless Vision -Elkay -Quanta Finance -Imperial Dade -Ace Cash Express -Forefront Dermatology -Demo-turnsandrehab -"Magnify Capital, LLC" -Lake St Homes -up&up -Pinnacle Dermatology LLC -Lendmark Financial Services -Kennicott Brothers Company -ASSA ABLOY Entrance Systems US Inc -SFR3 Archived -Aramis Realty -Mynd Property Management -Hanger Inc -RedTeam -Home Rentals LLC -Squarepoint Ops LLC -PadSplit -Marketplace Homes -Avenue One -InterDent Service Corporation -CITY ELECTRIC SUPPLY COMPANY -Doorvest Inc -Capview Partners -Milan Laser Hair Removal -Lessen Home Services -JPMC JLL -Denmark Properties LLC -Red Lobster Hospitality LLC -Fortune Acquisitions LLC -Pagaya -Center Creek Homes -AEG Vision -Davids Bridal -Green Residential -Heritage Restoration Company -Brandywine Homes -Caliber Collision Centers -PWA Operations -Inarayan Inc -FullBloom -Turnkey Property Group LLC -Link Logistics LLC -Garcia Properties -Luxottica of America Inc -GP Mobile LLC -Evernest -Frontier Property Management -USPS JLL -Man Global -First Place Management Properties -TOMS King -Streetlane Homes -Alvarado Restaurant Nation -Tiber Capital -Sylvan Road -McCaw Property Management LLC -Resolute Property Management LLC -Kedo LLC -HomeSource Operations -Restaurant Depot -The Wing -Omni -Pintar -Audibel -Briggs Equipment -Cabinets To Go -Vinebrook Homes -Third Coast Bank SSB -Venture REI -Americas Car Mart -Diamonds Direct USA Inc -JFC North America -Sun Oak PROPCO GP LLC -Resi Prestige Worldwide LLC -Apria Healthcare LLC -Sparrow -Dollar Tree -Family Dollar Stores Inc -MS Test Client (Test Client) -Patriot Family Homes LLC -SiteOne Landscape Supply LLC -Empire Today LLC -Belong Home Inc -My Community Homes -Reszi LLC -Spirit Realty -Darwin Homes Inc -99 Cents Only Stores LLC -Kinloch Partners LLC -ILE Homes -MCLT -AvantStay -Burns & CO -FirstKey Homes -American Homes 4 Rent -Hudson Homes Management LLC -"Progress Residential, LLC" -Good Night Stay (Deprecated) -Home Yield -Knox Holding Corporation -McKnight LLC -Stay San Diego -805 Capital LLC -STR Properties -Home River Group -Files -Atlas Home Services -VacayAZ -Equity Residential -"Pathway Construction, LLC" -Market Edge Realty -Tahoe Mountain Properties INC -Sovereign Real Estate Group -Sundae Inc -"CFP Management Group, LLC (Ault Firm)" -"Authentic Residential, LLC" -Cottonwood Lodging Company (Mount Majestic Properties) -Scottsdale Real Estate Group -Landa Properties LLC -"Great Jones, LLC" -Mainstreet Renewal -Opulent Vacations -Heart Property Management -CALCAP Properties -Urbanity Properties -Infinity Financial LLC -Maxfield Real Estate -Real Property Management Preferred -Fintor -Rent Prosper -Vantage Ventures Inc -Wedgewood Inc -Acre Labs Inc -Abodea -Bridge Single - Family Rental Fund Manager LLC -Alden Short INC -GoodNight Stay -NESE Property Management -True Family Enterprises -Menlo Commercial Real Estate -BnB Worx LLC -Flock Homes -"Reddy AZ, LLC dba Zendoor" -Guerin Property Services -"Campagna and Associates, Realtors" -Entera -"Caliber Home Solutions, LLC" -Kim and Nate O'Neil -Bungalow Living Inc (Need to Delete Client Never Onboarded) -Paladin Funding Inc -UDR Inc -St Louis Redevelopment Company LLC -Home365 LLC -Molly Loves Coconuts -Well Made Homes LLC -Edge Capital Inc -Jansen Capital Inc -Bonus Homes -Arkansas Homes and Rentals -True Investment Partners -Consumer Estimates -Waterton Residential LLC -Freaky Fast Home Buyers -"Purpose Residential, LLC DBA Whitestone Real Estate Fund" -RentReady Homes LLC -Shoking Home Buyers LLC -ATL Peach City Homes LLC -Camden Development Inc -BRICK & VINE -Ashok Sethu -Marble Living Inc -Forward Properties LLC -Brandon Sutton -Tanya Myint -Nicole Bowman -Braden Fellman Group Ltd -iRemodel Properties -Tiffany Wynohradnyk -Codi McKee -Redwood Living Inc -PMI JCM Realty Group -RW OPCO LLC (Renters Warehouse) -MS Test ClientC -Bentall Green Oak -Pacific Oak Residential Inc -SmartRent -Pierre Marsat -Miramar – Cedar Trace Circle 1 LLC -Stoa -360 Home Offers LLC -Atria -Landis Technologies -Hippo Home Care -ARK Homes For Rent -PetVet Care Centers -True Home -Michael C Fowler -Fidelity National Home Warranty -LivCor LLC -Lessen -Chubb -Amara Homes LLC -Altisource -AJC Group LLC -Postal Realty Trust -Thriveworks -RentRedi Inc -Homeward -Gilchrist -Lincoln Properties -Homevest -Freddie Mac -Blue River PetCare -SFR3 -PBSW MD INC -The Laramar Group -Westmount Square Capital -Capital Fund I LLC -Homespace USA -Blue Nile -Anywhere Real Estate -johns test client residential -Berkshire Communities LLC -BrightSpire Capital Inc -AHV Communities -KRS Holdings -4D Property Solutions LLC -ResProp Management -St Croix Hospice -iGo -STYL Residential -Cushman & Wakefield -Purchasing Platform -MCR Hotels -BPA Restaurant LLC (Blaze Pizza) -Bighorn Asset Management LLC -Cadence Education -Sun Coast -CRS Temporary Housing -Standard Residential RM Portal -Standard Commercial R&M on Demand -Standard Consumer Portal (Widget) -Capreit Inc -LiveEasy -International Capital LLC -Culdesac Tempe LLC -Mark Taylor Residential -Mattress Warehouse LLC -ABM -Lendflow -Honey Homes -Standard Residential - No Resident Portal -Titan Corp -C & LS Legacy Group LLC -Standard Turns & Reno -Highmark Residential -Insight Association Management GP Inc -Orion -Johns Test Restaurant Client -Insight Association Management GP Inc-BTR -Erica Jade P LLC -Assurant -Home Solutions Us Corp -10X Home Services -"Quintasen Holdings, LLC" -RE-Ops -Oak Rentals Management LLC -Main Street Renewal LLC -Black Ruby Properties RES -"Alacrity Solutions Group, LLC" -SkinSpirit Essential LLC -Black Ruby Properties COM -"LumLiq2,LLC. DBA Lumber Liquidators " -TruGreen -"Fractal Education Group, LLC" -Jadian IOS -CorePower Yoga -Latchel -Moda Homes LLC -Property Meld -GoPuff -ABM-Budderfly -GenStone Management -Trnkey -C7 Works LLC -Aimbridge Hospitality -Lusso Risk Solutions Corp -"Roots Management Group, LLC" -Tricon -SuiteSpot Inc. -Smashburger Servicing LLC -Cove Communities -IGO Widget -Standard Commercial R&M -Familia Dental -STORE Management LLC -Standard Residential Integration Partner -Maymont Homes -RangeWater Residential LLC -Standard Insurance Portal -MyEyeDr. -RareBreed Veterinary Partners -Standard Residential R&M w/T&R -ABM-ASML -HALO Strategies LLC -Clifford R Fick -KWI -Kairos Water Inc -Alert Labs Inc -MidFlorida Credit Union -Worldpac LLC -CapGrow Partners LLC -Trio Residential -ITW Shakeproof -Village Green Management Company LLC -Structure Tone LLC -Legacy Communities -The Niki Group -Carter Haston diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv deleted file mode 100644 index 108610ff8..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCategory.Name.csv +++ /dev/null @@ -1,157 +0,0 @@ -Air Conditioning/Heating -Coolers/Freezers -Doors/Locks/Gates/Grilles/Glass -Plumbing -Electrical/Lighting -Pest Control -Roof -Fire Systems -Signs -Flooring -General Building -Exterior -Structural -Repairs & Maintenance - Air Conditioning Equipment -Repairs & Maintenance - Appliances -Repairs & Maintenance - Common Area -Repairs & Maintenance - Buildings -Repairs & Maintenance - Electrical -Repairs & Maintenance - Street/Paving -Repairs & Maintenance - Gardens and Grounds -Repairs & Maintenance - General -Repairs & Maintenance - Fire Alarms -Repairs & Maintenance - Fire Extinguishers -Repairs & Maintenance - Plumbing -Repairs & Maintenance - Fitness Equipment -Pool Chemicals & Water Treatments -Repairs & Maintenance - Utilities -General Motor Vehicle Expenses -Repairs & Maintenance - Golf Carts -Repairs & Maintenance - Laundry -Repairs & Maintenance - Elevator -Kitchen Equipment -Refrigeration -Janitorial -Appliances -Cabinets/Countertops -Doors/Windows/Siding -Garage/Garage Door -General Maintenance -Landscape/Irrigation -Masonry/Fencing/Gates -Paint -Pool/Spa -Window Coverings -Move-in/out Package -Internal IH -Doors -Electrical -Gates -Glass -Lighting -Locks -Internal Customer -Violations -Landscaping -Striping -Debris Removal -Snow -IVR Fine -Floor Care -Windows -SIM -Inspection -Survey -Animal Habitat -Cash Wrap -Fish System -Hazardous Material Handling -Security -Store Equipment -Waste Management -Bar Equipment -Paint Booths -Office Services -Fuel Systems -Payments & Tech Services -Programs and Compliance -Food & Beverage Equipment -Car Wash -Parts Request -Window Repair -Bank Equipment -Conference Room Services -Escort -Expense Projects -Environmental Health & Safety -General Inquiry -Moves/Relocations -Janitorial Service -Merchandise Display -Fees -Disaster Response -Accounting Adjustment -Third Party Vendor Visit -EMS -ProCare -Lab Equipment -R-Appliances -R-Asphalt/Concrete -R-Cabinets/Countertops -R-Cleaning -R-Deck/Porch/Balcony -R-Doors/Windows/Trim -R-Electrical -R-Facade -R-Flooring -R-Foundation -R-Garage Door -R-General Maintenance -R-HVAC -R-Landscaping -R-Odor -R-Paint -R-Pest Control -R-Plumbing -R-Pool -R-Roofing -R-Utilities -R-Construction -R-Accounting Adjustment -R-Assessment -Smart Home -Mobile -Billing -Environmental Health & Safety Restoration -DSC Equipment -Mister -Lessen Field Operations -R-Appliances -R-Cleaning Services -R-Disposal & Remediation -R-Electric -R-Exterior Finishes -R-Fees -R-Flooring -R-General Conditions -R-HVAC -R-Interior Finishes -R-Landscape & Pools -R-Laundry -R-Painting & Coatings -R-Plumbing -R-Roofing And Gutter -Lessen Technology Fee -Installations -Early Pay -R-Asphalt/Concrete -R-Foundation -R-Garage Door -R-General Maintenance -R-Landscaping -R-Pest Control -R-Pool -CRE Tech Toolbox -Permit -Turns -Renovations diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv deleted file mode 100644 index 0699704c3..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceCode.Name.csv +++ /dev/null @@ -1,10189 +0,0 @@ -Variable Refrigerant Flow (VRF) -Provide Quote for Floor Cleaning -Provide Quote for Window Cleaning -Provide Quote for Janitorial Cleaning -Vacant Inspection -Lockout -Access Issue -Routine Service Needed -TR - Trip Charge -TR - Trip Charge -Hand Dryers -Light Switch -Not Working -New Outlet Install -Damaged/Repair -New Add -Replacement -Replacement -Replacement -Winterization Package -Utilities Activation -SR Lock Install -QC Check -HVAC Package -Turn Package -Post Notice -Occupancy Check -Rental Registration Inspection -Customer Requested Survey -Customer Requested Survey -Front Door OD Decal -Exterior Signage Maintenance -Plumbing Materials -Asset Data Capture -Community Inspection -Install/Repair -Home Safety Check -Enhance Strip and Wax Night 5 -Enhance Strip and Wax Night 4 -Install Crown Molding -Stain deck/fence -Remove/Install Wallpaper -Broken/Damaged -Install closet system -Babyproof installation -Fixture Repair/Maintenance -Install New -Install wall fixture -Install TV Wall Mount -Assemble Furniture -Staffing Fee -Not Covered under FPP -Emergency Capital -Emergency Capital -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Found on PM -Full Protection Program -Found on PM/Capital Request -Whole House Drywall Repairs - Medium -Whole House Drywall Repairs - Light -Whole House Drywall Repairs - Heavy -Water Heater Permit -Turn Package (Second Avenue) -Service Roof - Tile -Service Roof - Shingle -Secure Damaged Door/Window -Roof Permit -Repoint Brick Wall/Siding -Repair Ungrounded Outlet -Repair Fiberglass Chip -"Repair Drywall - Up to 6""x6""" -Rent/Procure Scaffolding/Lift -Reno Package (Second Avenue) -Reinstall Door -Reglaze Sliding Glass Door Pane -Recode Keypad Lock -Procure Washer - Top Load (White) -Procure Refrigerator - Top Freezer (Stainless) -Procure Refrigerator - Top Freezer (Black/White) -Procure Refrigerator - Side By Side (Stainless) -Procure Refrigerator - Side By Side (Black/White) -Procure Range Hood - Under Cabinet Convertible (Stainless) -Procure Range Hood - Under Cabinet Convertible (Black/White) -Procure Microwave - Over The Range (Stainless) -Procure Microwave - Over The Range (Black/White) -Procure Freestanding Range - Smooth Top Electric (Stainless) -Procure Freestanding Range - Smooth Top Electric (Black/White) -Procure Freestanding Range - Gas (Stainless) -Procure Freestanding Range - Gas (Black/White) -Procure Freestanding Range - Coil Top Electric (Stainless) -Procure Freestanding Range - Coil Top Electric (Black/White) -Procure Dryer (White) -Procure Dishwasher - Front Control (Stainless) -Procure Dishwasher - Front Control (Black/White) -Procure Cooktop - Gas (Stainless) -Procure Cooktop - Gas (Black/White) -Procure Cooktop - Electric (Stainless) -Procure Cooktop - Electric (Black/White) -Prime Wall (Corner to Corner) -Plumbing - Lite Winterize -Pest Control Treatment - German Roach (3 Trips) -Paint House Interior - Walls Only -Paint Deck -Paint Chimney Cap & Chase Cover -Paint Baseboards -Mobilization Fee -Investigate Water Damaged Wall/Ceiling -Install/Replace Wrought Iron Handrail (prefab) -Install/Replace Wood Subfloor -Install/Replace Tile Flooring -Install/Replace Shower Surround - Tile -Install/Replace Shoe Molding -Install/Replace Self-Closing Hinges (set of 2) -Install/Replace Range/Microwave Filters -Install/Replace Luxury Vinyl Plank (LVP) Flooring - Floating -Install/Replace Lockbox - Shackle -Install/Replace Kitchen Sink Faucet - Pull Out -Install/Replace Kitchen Sink Faucet - Pull Down -Install/Replace Kitchen Sink Faucet - Basic -Install/Replace HVAC Condensate Drain Pan -Install/Replace Gate Hinge -Install/Replace Fill Dirt -Install/Replace Faucet Hand Sprayer -Install/Replace Electrical Conduit -Install/Replace Chase Cover & Chimney Cap -Install/Replace Brick/Block (Individual) -Install/Replace Brick Mold -Install/Replace Bathroom Sink Faucet - Widespread -Install/Replace Bathroom Sink Faucet - Centerset -"Install/Replace Bathroom Sink Faucet - 8""" -Install/Replace - Knob/Deadbolt Combo -Hydro Jet Sewer Line -HVAC Permit -HVAC Drain Pan Debris Removal -HVAC Basic Maintenance Package (Second Avenue) -House Rekey (up to 2 doors) -Home Access Lock Drilling -Gas Leak Detection -Fence Permit -Demo TV Mount -Deep Clean Bathtub/Shower -Completion Package (Homeward) -Clean Whole House - Lite Clean -Clean Tile Flooring -Clean Exterior Windows - 3rd+ Floor -Clean Exterior Windows - 2nd Floor -Clean Exterior Windows - 1st Floor -Appliance Installation & Haul Away - Washer/Dryer -Appliance Installation & Haul Away - Refrigerator -Appliance Installation & Haul Away - Range -Appliance Installation & Haul Away - Hood/Microwave -Appliance Installation & Haul Away - Dishwasher -Appliance Installation & Haul Away - Cooktop -Facility Condition Inspection -Dispatch Vendor Fees -Custom Integrations -User Support -Implementation & Training -Access & License -Purchase -Repair/Replace - Signet -Security Bars -Security Bars -Security Bars -Lighting Materials -Gates/Door Locks -Showcase Locks -Air Purifier -Cabinet Parts -Repair -Install/Remove Lockbox -Buzzers -Leaking -Leaking -Enhance Strip and Wax Night 3 -Enhance Strip and Wax Night 2 -Enhance Strip and Wax Night 1 -Travel Expenses -Floor Mats and Linens -AED - Life Saving Device -Gas Fireplace -Dispatch Vendor Fees -Custom Integrations -User Support -Implementation & Training -Access & License -Ice Melt Services -Infrared Heating Panel -"Sweep, Scrub, & Buff (follow-up)" -Repair -Medical Refrigerator Repair -Treatment Bed Parts -Tennant T300 Scrubber CAPEX -Tennant Scrubbers/Sweepers -Tenant Allowance -"Sweep, Scrub, & Buff w/ Janitorial Cleaning" -Strip & Wax w/ Janitorial Cleaning -Scrub & Recoat w/ Janitorial Cleaning -Refresh Service -LVT Scrub Remodel w/ Janitorial Cleaning -LVT Floor Scrub w/ Janitorial Cleaning -Concrete Floor Scrub w/ Janitorial Cleaning -Padlock Won't Lock/Unlock -Move Unit -Graffiti -General Damage/Vandalism -Door Won't Open/Close -New Installation -Roof -Gutters -Structural/Leak Repairs -Screens -Heaters -Equipment -Septic -Resurface/Refinish -Major Plumbing -Minor Plumbing -Wildlife/Trapping -Termites -Small Insects -Rodents -Bees -Exterior -Interior -Foundation -Fencing/Gates -Brick/Concrete -Irrigation -Landscaping -Inspections -Managed Services -Handyman Services -Garage Door -Foundation -Tile -Carpet -Vinyl and Laminate -Fireplace/Chimney -Fencing/Gates -Major Electrical -Minor Electrical -Trash Out -Cleaning/Maid Service -Washer/Dryer -Vent Hood -Refrigerator -Range/Oven -Microhood -Dishwasher -Cooktop -Air Conditioning/Heating -Roof -Gutters -Structural/Leak Repairs -Screens -Heaters -Equipment -Septic -Resurface/Refinish -Major Plumbing -Minor Plumbing -Wildlife/Trapping -Termites -Small Insects -Rodents -Bees -Exterior -Interior -Foundation -Fencing/Gates -Brick/Concrete -Irrigation -Landscaping -Inspections -Managed Services -Handyman Services -Garage Door -Foundation -Tile -Carpet -Vinyl and Laminate -Fireplace/Chimney -Fencing/Gates -Major Electrical -Minor Electrical -Trash Out -Cleaning/Maid Service -Washer/Dryer -Vent Hood -Refrigerator -Range/Oven -Microhood -Dishwasher -Cooktop -Air Conditioning/Heating -Pest Exclusion -Day Porter -Monitoring Services -Subscription -HVAC Install -Broken/Pets Hotel -Expeditor -Other -HVAC -Other -New Badge -Lanyard -Additional Access or Extended Hours -Deactivate -Not Working -Lost Badge -Treatment Bed Repair -Smash & Grab -Smash & Grab -Smash & Grab -HVAC -Routine Service Needed -Found on PM -Survey -Scrub and Seal -Active Leak Repairs - Troubleshoot + Full Day -Active Leak Repairs - Troubleshoot + 1/2 Day -Non - Leak Repairs - Full Day -Non - Leak Repairs - 1/2 Day -Tune up - Steep Pitch -Tune up - Low Pitch -Rats -Mice -Day Porter -Purchase -Secure Door Knob -Secure Countertop -Repair Sink Hot/Cold Reversed -Repair Bathtub/Shower Hot/Cold Reversed -Pressure Wash Flatwork - Half-Day -Pressure Wash Flatwork - Full-Day -Permit -Paint/Stain Wood Fence -"Paint House Interior - Walls, Doors & Trim (No Ceiling)" -Paint Front/Exterior Door - Both Sides -Install/Replace Widespread Bathroom Sink Faucet -Install/Replace Water Heater Expansion Tank -Install/Replace GFCI Outlet -Install/Replace Fire Extinguisher -Install/Replace Door Hinge (Set of 3) -Install/Replace Circuit Breaker Blank Filler Plates -Install/Replace Carbon Monoxide Detector - Plug-In -Install/Replace Cabinet Hinge -Install/Replace Brick Mould -Install/Replace Bifold Door Knob -Initial Lawn Service -Clean Chimney -Bulk Trash -Human/Bio Clean Up -5yr Sprinkler -Fire Watch -Fire Sprinkler -Fire Extinguisher -Fire Alarm -Emergency Light -Backflow -Consultation Desk -Drawer Front -Locks Loose/Missing -Laminate -Winterize Irrigation System Only -Window Trim - Caulk (per window) -Weed Removal -Waterproof Foundation Walls -Trim Shrub -Tree Removal -Tree - Prune -Treat Odor - Ozone -Treat Odor - Carpet -Trash Out - Minor -Trash Out - 40 Cubic Yards -Trash Out - 30 Cubic Yards -Trash Out - 20 Cubic Yards -Trash Out - 10 Cubic Yards -Touch Up Drywall Individual Room -Tile Flooring Grout - Regrout -Tile Flooring - Clean -Texture Drywall to Match -Test for Mold -Test for Lead -Survey - Fence -Stump - Demo -Stretch Carpet -Stain Stair Handrail -Stain Flooring Transition Strip -Stain Deck Steps -Stain Deck -Snake Main Sewer Line -Snake Fixture Drain - Tub/Shower -Snake Fixture Drain - Toilet -Snake Fixture Drain - Sink -Sliding Glass Door - Reglaze -Shoe Molding - Install/Replace -Service/Lubricate Window -Service/Lubricate Sliding Glass Door -Service Water Heater -Service Roof -Service Pool - Basic -Service Pool - Advanced (Green Pool) -Service Irrigation System -Service Initial Service Landscape - Medium -Service Initial Service Landscape - Light -Service Initial Service Landscape - Heavy -Service HVAC - Standard -Service HVAC - Diagnose & Repair -Service Garage Door -"Seed Grass (per 1,000 sqft)" -Secure Water Heater Flue Piping -Secure Trim -Secure Towel Ring -Secure Towel Bar -Secure Toilet Tank -Secure Toilet Paper Holder -Secure Toilet Base -Secure Switch -Secure Stair Handrail -Secure Shelf -Secure Refrigerator Handle -Secure Range Handle -Secure Perimeter Block Wall Cap -Secure Outlet -Secure Newel Post -Secure Mailbox -Secure Insulation -Secure Hose Bibb -Secure Gutter -Secure Garage Door Trim -Secure Flooring Transition Strip -Secure Fascia Board -Secure Door Weatherstripping -Secure Dishwasher -Secure Deck Handrail -Secure Countertop End Cap -Secure Cabinet Hardware -Seal Deck -Rewire Electrical System -Resurface Pool Deck -Rescreen Window Screen -Rescreen Screen Door -Rescreen Patio Screen -Replace Window - Single Pane -Replace Window - Hurricane-Rated -Replace Window - Dual Pane -Replace Single Tile -Repair Stucco -Repair Stair Baluster -Repair Soffit -Repair Siding Hole -Repair Shed Door -Repair Roof Truss -Repair Roof -Repair Porcelain/Ceramic Chip -Repair Popcorn Ceiling Texture -Repair Perimeter Block Wall Step Cracking -Repair Perimeter Block Column -Repair Outlet Hot/Neutral Reversed -Repair Main Electrical Panel Conduit Separation -Repair Irrigation Pipe Leak -Repair HVAC Ductwork -Repair Foundation -Repair Firebox Cracking -Repair Drywall - Crack(s) LF -"Repair Drywall - 6""x6""" -"Repair Drywall - 6""-2'x2'" -Repair Drywall - 4'x4'-4'x8' (full sheet) -Repair Drywall - 2'x2'-4'x4' -Repair Door Jamb -Repair Door - Holes -Repair Door - Delamination -Repair Countertop Chip -Repair Concrete Crack -Repair Chimney Damper -Repair Attic Ladder Pull String -Rent/Procure Generator -Rent/Procure Dumpster - 40 CuYd -Rent/Procure Dumpster - 20 CuYd -Rent/Procure Dumpster - 10 CuYd -Rent/Procure Dehumidifier -Rent/Procure Crane -Remove/Store Window Screens -Remove/Reinstall Pedestal Sink for Flooring Install -Remove Window Tint -Remove Sliding Screen Door -Remove & Reinstall Water Heater -Remove & Reinstall Toilet -Remediate Mold -Remediate Lead Paint -Regrout Wall Tile/Backsplash -Reglaze Window -Refinish Shower -Refinish Pool Surface -Refinish Hardwood Flooring - Sand & Seal -Refinish Hardwood Flooring - Buff & Seal -Refinish Bathtub with Surround -Refinish Bathtub -Prime House Interior -Prime House Exterior -Pressure Wash Tile Roof -Pressure Wash Shingle Roof -Pressure Wash Flatwork -Pressure Wash Fence -Pressure Wash Exterior -Premium - Windows -Premium - Window Wells -"Premium - Water, Gas, Electrical Service" -Premium - Walls / Ceiling -Premium - Vanity Cabinets -Premium - Storage Sheds -Premium - Stairs & Handrails -Premium - Soffits & Fascia -Premium - Shutters -Premium - Shelving & Rods -Premium - Security Systems -Premium - Security / Storm Doors -Premium - Satellite Dishes -Premium - Roof -Premium - Pool Barriers & Safety -Premium - Pool -Premium - Plumbing - Water Treatment Systems -Premium - Plumbing - Water Lines & Valves -Premium - Plumbing - Water Heater -Premium - Plumbing - Toilets -Premium - Plumbing - Sinks -Premium - Plumbing - Showers / Tubs -Premium - Plumbing - Gas Lines & Valves -Premium - Plumbing - Garbage Disposal -"Premium - Plumbing - Drain, Wastes and Vents" -Premium - Pests -Premium - Odors -Premium - Mirrors -Premium - Medicine Cabinets -Premium - Mailboxes -Premium - Landscaping -Premium - Irrigation Systems -Premium - Interior Lights & Fans -Premium - Interior Doors -Premium - Insulation -Premium - HVAC -Premium - Gutters -Premium - Ground / Vapor Barrier -Premium - Grading & Drainage -Premium - General Interior -Premium - General Exterior -Premium - Garage Door -Premium - Foundation / Basement Walls -Premium - Flooring -Premium - Fireplace / Chimney -Premium - Fire Safety / Detectors -Premium - Fire Rated Door -Premium - Fencing / Walls & Gates -Premium - Exterior Vents -Premium - Exterior Siding / Stucco -Premium - Exterior Lights & Fans -Premium - Exterior Features -Premium - Exterior Doors -Premium - Exhaust Fans -Premium - Electrical - Switches / Outlets / Coverplates -Premium - Electrical - Service / Panel -Premium - Electrical - General -Premium - Doorbells -Premium - Door Hardware -Premium - Decks -Premium - Crawlspace Doors -Premium - Countertops -Premium - Concrete / Paving / Hardscape -Premium - Cabinets -Premium - Blinds / Window Coverings -Premium - Bathroom Hardware -Premium - Baseboards & Interior Trim -Premium - Attic Access -Premium - Appliance - Washer -Premium - Appliance - Vent Hood -Premium - Appliance - Refrigerator -Premium - Appliance - Oven / Range -Premium - Appliance - Other -Premium - Appliance - Microwave -Premium - Appliance - General -Premium - Appliance - Dryer -Premium - Appliance - Dishwasher -Premium - Appliance - Cooktop -Premium - Address Numbers -Plumbing - Winterize -Plumbing - Dewinterize -Pest Control Treatment - Tenting -Pest Control Treatment - Subterranean Termite -Pest Control Treatment - Standard -Pest Control Treatment - Rodent -Pest Control Treatment - German Roach -Pest Control Treatment - Bird -Pest Control - Termite Inspection -Paint Stem Wall/Foundation -Paint Stair Tread -Paint Stair Handrail -Paint Soffit -Paint Shutters -Paint Shoe Molding -Paint Shelf -Paint Room -Paint Prep House Exterior -Paint Porch/Patio Floor -Paint Porch/Patio Cover -Paint Pool Deck -Paint Medicine Cabinet -Paint Interior Door -Paint HVAC Return Grille -Paint HVAC Register -Paint House Interior Wall (Corner to Corner) -Paint House Interior High Ceiling - Premium -Paint House Interior - Full Interior -Paint House Interior - Doors & Trim Only -Paint House Exterior Wall (Corner to Corner) -Paint House Exterior Trim Only -Paint House Exterior - Full Exterior -Paint Garage Interior -Paint Garage Floor -Paint Garage Door - Two Car -Paint Garage Door - One Car -Paint Front/Exterior Door - Interior Only -Paint Front/Exterior Door - Exterior Only -Paint Fireplace Firebox -Paint Fascia Board -Paint Exterior Door - Exterior Side Only -Paint Exterior Door - Both Sides -Paint Deck Steps -Paint Ceiling -Paint Cabinet - Interior & Exterior -Paint Cabinet - Exterior Only -Level Concrete Subfloor -Label Electrical Panel Cover Blanks -Label Electrical Panel Circuits -Install/Replace Wrought Iron Gate -Install/Replace Wrought Iron Fence -Install/Replace Wood/Cement Board Siding -Install/Replace Wood Picket Fence -Install/Replace Wood Panel Siding -Install/Replace Wood Gate -Install/Replace Wood Fence Pickets -Install/Replace Wood 4x4 Fence Post -Install/Replace Window Well Surround -Install/Replace Window Well Cover -Install/Replace Window Trim -Install/Replace Window Screen -Install/Replace Window Sash -Install/Replace Window Lock -Install/Replace Window Crank Handle -Install/Replace Window Balance -Install/Replace Weatherproof Cover -Install/Replace Water/Ice Maker Outlet Box -Install/Replace Water Shut-Off Valve -Install/Replace Water Pressure Reducing Valve -Install/Replace Water Heater Supply Line -Install/Replace Water Heater Stand -Install/Replace Water Heater Shut-Off Valve -Install/Replace Water Heater Safety Straps -Install/Replace Water Heater Pressure Relief Valve -Install/Replace Water Heater Pressure Relief Drain Line -Install/Replace Water Heater Nipple (set) -Install/Replace Water Heater Flue Piping -Install/Replace Water Heater Expansion Tank Straps -Install/Replace Water Heater Drip Pan -Install/Replace Water Heater - 50 Gal Gas -Install/Replace Water Heater - 50 Gal Electric -Install/Replace Water Heater - 40 Gal Gas -Install/Replace Water Heater - 40 Gal Electric -Install/Replace Washing Machine Pan -Install/Replace Wall Tile -Install/Replace Wall Plate -Install/Replace Wall Cabinet(s) -Install/Replace Vinyl/Aluminum Siding -Install/Replace Vinyl Gate -Install/Replace Vinyl Fence Post Sleeve -Install/Replace Vinyl Fence -Install/Replace Vertical Blinds -Install/Replace Vent Hood Screen -Install/Replace Vent Hood (Stainless) -Install/Replace Vent Hood (Black/White) -Install/Replace Vent Cover -Install/Replace Vanity Light Fixture -Install/Replace Vanity Countertop Only - Single -Install/Replace Vanity Cabinet/Counter Combo - Single -Install/Replace Undermount Bathroom Sink -Install/Replace Towel Ring -Install/Replace Towel Hook -Install/Replace Towel Bar -Install/Replace Toilet Wax Ring -Install/Replace Toilet Supply Line -Install/Replace Toilet Seat (Round) -Install/Replace Toilet Seat (Elongated) -Install/Replace Toilet Paper Holder -Install/Replace Toilet Flush Kit -Install/Replace Toilet Flush Handle -Install/Replace Toilet Flapper -Install/Replace Toilet Flange -Install/Replace Toilet Bolt Caps -Install/Replace Toilet (Round) -Install/Replace Toilet (Elongated) -Install/Replace Tile Roof -Install/Replace Thermostat -Install/Replace Switch -Install/Replace Sump Pump Discharge Pipe -Install/Replace Sump Pump -Install/Replace Storm Door -Install/Replace Stair Tread -Install/Replace Stair Stringer -Install/Replace Stair Handrail Mounting Hardware -Install/Replace Stair Handrail -Install/Replace Stair Baluster -Install/Replace Sprinkler Head -Install/Replace Soffit Panel -Install/Replace Sod -Install/Replace Smoke/CO Detector Battery -Install/Replace Smoke/Carbon Monoxide Combo Detector - Standard Battery -Install/Replace Smoke/Carbon Monoxide Combo Detector - Lithium Battery -Install/Replace Smoke/Carbon Monoxide Combo Detector - Hardwired -Install/Replace Smoke Detector - Standard Battery -Install/Replace Smoke Detector - Lithium Battery -Install/Replace Smoke Detector - Hardwired -Install/Replace Sliding Screen Door -Install/Replace Sliding Glass Door Security Pin -Install/Replace Sliding Glass Door Security Bar -Install/Replace Sliding Glass Door Roller(s) -Install/Replace Sliding Glass Door Handle -Install/Replace Sliding Glass Door - Standard -Install/Replace Sliding Glass Door - Oversized -Install/Replace Sink/Counter Hole Cover -Install/Replace Sink Supply Line -Install/Replace Sink Drain P Trap -Install/Replace Sink Drain Assembly -Install/Replace Single Wall Oven (All Finishes) -Install/Replace Shutters (pair) -Install/Replace Shower Valve Cartridge -Install/Replace Shower Valve -Install/Replace Shower Trim Kit -Install/Replace Shower Surround - Prefab -Install/Replace Shower Rod -Install/Replace Shower Head -Install/Replace Shower Enclosure -Install/Replace Shower Door(s) -Install/Replace Shower Arm -Install/Replace Shingle Roof -Install/Replace Shelving - Wood -Install/Replace Shelving - Wire -Install/Replace Shelf Support Bracket -Install/Replace Sheet Vinyl Flooring -Install/Replace Septic Tank Cover -Install/Replace Security Door -Install/Replace Screen/Storm Door Closer -Install/Replace Screen Door -Install/Replace Roof Jack -Install/Replace Roof Decking -Install/Replace Refrigerator Water Filter -Install/Replace Refrigerator Ice Maker -Install/Replace Refrigerator Handle -Install/Replace Refrigerator - Top Freezer (Stainless) -Install/Replace Refrigerator - Top Freezer (Black/White) -Install/Replace Refrigerator - Side-By-Side (Stainless) -Install/Replace Refrigerator - Side-By-Side (Black/White) -Install/Replace Recessed Light Fixture -Install/Replace Range Knob -Install/Replace Range Handle -Install/Replace Range - Gas (Stainless) -Install/Replace Range - Gas (Black/White) -Install/Replace Range - Electric (Stainless) -Install/Replace Range - Electric (Black/White) -Install/Replace Quartz Countertop -Install/Replace Pull Chain Socket Light Fixture -Install/Replace Privacy Door Knob -Install/Replace Pool Vacuum Breaker -Install/Replace Pool Timer -Install/Replace Pool Pump -Install/Replace Pool Heater -Install/Replace Pool Filter Unit -Install/Replace Pool Filter Sand -Install/Replace Pool Filter Cartridge -Install/Replace Pool Fence -Install/Replace Pool 3-Way Valve -Install/Replace Pocket Door - Track and Roller -Install/Replace Pocket Door - Slab Only -Install/Replace Pocket Door - Slab & Hardware -Install/Replace Pocket Door - Pull -Install/Replace Plant -Install/Replace Perimeter Block Wall Cap -Install/Replace Perimeter Block Wall -Install/Replace Pendant Light Fixture -Install/Replace Pedestal Bathroom Sink -Install/Replace Passage Door Knob -Install/Replace Oven Rack -Install/Replace Oven Knobs -Install/Replace Oven Heating Element -Install/Replace Oven Handle -Install/Replace Outlet - New Run From Existing Circuit -Install/Replace Outlet -Install/Replace Newel Post -Install/Replace New Dedicated Electrical Circuit -Install/Replace Mulch -Install/Replace Mirror Trim -Install/Replace Mirror -Install/Replace Microwave Combo Wall Oven (All Finishes) -Install/Replace Microwave - Over the Range (Stainless) -Install/Replace Microwave - Over the Range (Black/White) -Install/Replace Microwave - Low Profile (All Finishes) -Install/Replace Metal Roof -Install/Replace Medicine Cabinet -Install/Replace Main Water Shut-Off Valve -Install/Replace Main Sewer Line -Install/Replace Mailbox Post -Install/Replace Mailbox Flag -Install/Replace Mailbox - Wall Mounted -Install/Replace Mailbox - Mailbox Only -Install/Replace Mailbox - Mailbox & Post -Install/Replace Luxury Vinyl Plank (LVP) Flooring - Glue Down -Install/Replace Luxury Vinyl Plank (LVP) Flooring - Click Lock -Install/Replace Luxury Vinyl Flooring - Stair Labor (per stair) -Install/Replace Luan Board Subfloor -Install/Replace Lockbox - Wall Mount -Install/Replace Light Bulb -Install/Replace Laundry Washer Valves (per valve) -Install/Replace Laundry Washer Valve Caps -Install/Replace Laundry Washer Box -Install/Replace Laundry Sink Faucet -Install/Replace Laminate Countertop Sidesplash -Install/Replace Laminate Countertop End Cap -Install/Replace Laminate Countertop -Install/Replace Kitchen Sink Strainer -Install/Replace Kitchen Sink Faucet -Install/Replace Kitchen Sink - Undermount -Install/Replace Kitchen Sink - Drop-In -Install/Replace Kitchen Faucet Stem/Cartridge -Install/Replace Kitchen Faucet Handle -Install/Replace Keypad Deadbolt -Install/Replace Junction Box Cover -Install/Replace Junction Box -Install/Replace Jelly Jar Light Fixture -Install/Replace Irrigation Valve Box -Install/Replace Irrigation Valve -Install/Replace Irrigation Vacuum Breaker -Install/Replace Irrigation Timer -Install/Replace Irrigation System Watering Zones (per zone) -"Install/Replace Irrigation System Base (Timer, Valves, etc.)" -Install/Replace Interior Slab Door -Install/Replace Interior Prehung Door -Install/Replace Interior Double Doors - Prehung -Install/Replace Insulation - Blown-In -Install/Replace Insulation - Batt -Install/Replace Indoor Sconce Light Fixture -Install/Replace HVAC Rooftop Stand -Install/Replace HVAC Return Grille -Install/Replace HVAC Register - Wall/Ceiling -Install/Replace HVAC Register - Floor -Install/Replace HVAC Lineset Insulation - Full Lineset -Install/Replace HVAC Lineset Insulation - Exterior Portion Only -Install/Replace HVAC Lineset -Install/Replace HVAC Gas Supply Line - Hardpipe -Install/Replace HVAC Gas Supply Line - Flex -Install/Replace HVAC Float Switch -Install/Replace HVAC Electrical Disconnect -Install/Replace HVAC Ductwork -Install/Replace HVAC Condensing Unit -Install/Replace HVAC Cage -Install/Replace HVAC Air Handler -Install/Replace HVAC Air Filter -Install/Replace Hose Bibb Handle -Install/Replace Hose Bibb Anti-Siphon Vacuum Breaker -Install/Replace Hose Bibb - Standard -Install/Replace Hose Bibb - Frost Proof -Install/Replace Hinge Mortising -Install/Replace Heat Pump Split HVAC System (5 Tons) -Install/Replace Heat Pump Split HVAC System (4 Tons) -Install/Replace Heat Pump Split HVAC System (3.5 Tons) -Install/Replace Heat Pump Split HVAC System (3 Tons) -Install/Replace Heat Pump Split HVAC System (2.5 Tons) -Install/Replace Heat Pump Split HVAC System (2 Tons) -Install/Replace Heat Pump Split HVAC System (1.5 Tons) -Install/Replace Heat Pump Package HVAC System (5 Tons) -Install/Replace Heat Pump Package HVAC System (4 Tons) -Install/Replace Heat Pump Package HVAC System (3.5 Tons) -Install/Replace Heat Pump Package HVAC System (3 Tons) -Install/Replace Heat Pump Package HVAC System (2.5 Tons) -Install/Replace Heat Pump Package HVAC System (2 Tons) -Install/Replace Hardwood (Engineered) Flooring -Install/Replace Gutter Splash Block -Install/Replace Gutter Elbow -Install/Replace Gutter Downspout Extension -Install/Replace Gutter Downspout -Install/Replace Gutter -Install/Replace Gravel -Install/Replace Granite Countertop -Install/Replace Gate Self-Closing Device -Install/Replace Gate Latch -Install/Replace Gas Split HVAC System (5 Tons) -Install/Replace Gas Split HVAC System (4 Tons) -Install/Replace Gas Split HVAC System (3.5 Tons) -Install/Replace Gas Split HVAC System (3 Tons) -Install/Replace Gas Split HVAC System (2.5 Tons) -Install/Replace Gas Split HVAC System (2 Tons) -Install/Replace Gas Split HVAC System (1.5 Tons) -Install/Replace Gas Range Burner -Install/Replace Gas Package HVAC System (5 Tons) -Install/Replace Gas Package HVAC System (4 Tons) -Install/Replace Gas Package HVAC System (3.5 Tons) -Install/Replace Gas Package HVAC System (3 Tons) -Install/Replace Gas Package HVAC System (2.5 Tons) -Install/Replace Gas Package HVAC System (2 Tons) -Install/Replace Gas Key -Install/Replace Gas Cooktop Burner -Install/Replace Gas Cooktop (All Finishes) -Install/Replace Garbage Disposal Gasket -Install/Replace Garbage Disposal -Install/Replace Garage Door Wall Control Button -Install/Replace Garage Door Trim (Top & Side) -Install/Replace Garage Door Torsion Spring -Install/Replace Garage Door Safety Sensors -Install/Replace Garage Door Safety Cable -Install/Replace Garage Door Roller Bracket -Install/Replace Garage Door Roller -Install/Replace Garage Door Remote -Install/Replace Garage Door Opener Mounting Bracket -Install/Replace Garage Door Opener -Install/Replace Garage Door Handle Lock -Install/Replace Garage Door Emergency Release Cord -Install/Replace Garage Door Bottom Seal -Install/Replace Garage Door - 2 Car -Install/Replace Garage Door - 1 Car -Install/Replace Gable Vent Fan -Install/Replace Furnace (80k BTUs) -Install/Replace Furnace (60k BTUs) -Install/Replace Furnace (40k BTUs) -Install/Replace Furnace (100k BTUs) -Install/Replace Front Door Slab -Install/Replace Front Door Handle -Install/Replace Front Door - Prehung -Install/Replace French Drain -Install/Replace Foundation Vent Cover -Install/Replace Flush Mount Light Fixture - Interior -Install/Replace Flush Mount Light Fixture - Exterior -Install/Replace Fluorescent Light Fixture -Install/Replace Fluorescent Light Bulb -Install/Replace Flooring Transition Strip -Install/Replace Floor Drain Grate -Install/Replace Flood Light Fixture -Install/Replace Flat Roof - Rolled Asphalt -Install/Replace Flat Fluorescent Lens Cover -Install/Replace Fireplace Screen -Install/Replace Fireplace Log Grate -Install/Replace Fireplace Gas Logs -Install/Replace Fireplace Damper Clamp -Install/Replace Fire Rated Door - Prehung -Install/Replace Faucet Aerator -Install/Replace Fascia Board -Install/Replace Exterior/Service Door - Slab -Install/Replace Exterior/Service Door - Prehung -Install/Replace Exterior Wrought Iron Handrail -Install/Replace Exterior Trim -Install/Replace Exterior French Doors - Prehung -Install/Replace Electrical Panel Cover Screws -Install/Replace Electrical Panel Bushing -Install/Replace Electrical Panel -Install/Replace Electric Cooktop (All Finishes) -Install/Replace Dummy Knob -Install/Replace Drywall (per sheet) -Install/Replace Dryer Vent Exterior Cover -Install/Replace Dryer Vent Entire Assembly -Install/Replace Drop-In Bathroom Sink -Install/Replace Double Wall Oven (All Finishes) -Install/Replace Double Vanity Countertop -Install/Replace Double Vanity Combo -Install/Replace Doorbell Chime -Install/Replace Doorbell Button -Install/Replace Doorbell Battery -Install/Replace Doorbell - Wireless System -Install/Replace Doorbell - Wired System -Install/Replace Door/Window Alarm -Install/Replace Door Weatherstripping -Install/Replace Door Trim/Casing -Install/Replace Door Threshold -Install/Replace Door T-Astragal Molding -Install/Replace Door Sweep -Install/Replace Door Strike Plate -Install/Replace Door Stop - Wall Mount -Install/Replace Door Stop - Hinge Mount -Install/Replace Door Peep Hole -Install/Replace Door Lock Bore and Mortise -Install/Replace Door Kick Plate -Install/Replace Door Hole Plate Cover -Install/Replace Door Hinge (per hinge) -Install/Replace Door High Handle & Self-Closing Device for Standard Door -Install/Replace Door Ball Catch -Install/Replace Dishwasher Supply Line -Install/Replace Dishwasher High Loop -Install/Replace Dishwasher Air Gap -Install/Replace Dishwasher (Stainless) -Install/Replace Dishwasher (Black/White) -Install/Replace Deck Step Tread -Install/Replace Deck Railing Post -Install/Replace Deck Post -Install/Replace Deck Planks -Install/Replace Deck Handrail -Install/Replace Deck Flashing -Install/Replace Deck -Install/Replace Dead Front Cover -Install/Replace Crown Molding -Install/Replace Crawl Space Vapor Barrier -Install/Replace Crawl Space Door -Install/Replace Cooktop Knob -Install/Replace Cooktop Flat top Heating Element -Install/Replace Cooktop Electric Coil Element -Install/Replace Cooktop Drip Pans -Install/Replace Concrete -Install/Replace Coach/Lantern Light Fixture -Install/Replace Closet Rod Pole Sockets -Install/Replace Closet Rod - Rod Only -Install/Replace Cleanout Cover -Install/Replace Circuit Breaker - Standard Single Pole -Install/Replace Circuit Breaker - Standard Double Pole -Install/Replace Circuit Breaker - AFCI -Install/Replace Chimney Cap -Install/Replace Channel Drain -Install/Replace Chandelier Light Fixture -Install/Replace Chain Link Gate -Install/Replace Chain Link Fence Post -Install/Replace Chain Link Fence -Install/Replace Cement Board Subfloor -Install/Replace Ceiling Fan Pull Chain Extension -Install/Replace Ceiling Fan Downrod -Install/Replace Ceiling Fan -Install/Replace Carpet (SqYd) -Install/Replace Carbon Monoxide Detector -Install/Replace Cabinet Trim Molding -Install/Replace Cabinet Toe Kick -Install/Replace Cabinet Pull(s) -Install/Replace Cabinet Knob(s) -Install/Replace Cabinet Floor -Install/Replace Cabinet End Panel -Install/Replace Cabinet Drawer Rollers -Install/Replace Cabinet Drawer -Install/Replace Cabinet Door -Install/Replace Bypass Finger Pull/Cup -Install/Replace Bypass Door Rollers -Install/Replace Bypass Door Guide -Install/Replace Bypass Door -Install/Replace Bulb - Vent Hood -Install/Replace Bulb - Refrigerator -Install/Replace Bulb - Oven/Range -Install/Replace Bulb - Microwave -Install/Replace Bifold Door Hardware -Install/Replace Bifold Door -Install/Replace Bathtub/Shower Trim Kit -Install/Replace Bathtub Surround - Tile -Install/Replace Bathtub Surround - Prefab -Install/Replace Bathtub Stopper -Install/Replace Bathtub Spout -Install/Replace Bathtub Overflow Plate -Install/Replace Bathtub Drain Stop & Overflow -Install/Replace Bathtub -Install/Replace Bathroom Sink Faucet -Install/Replace Bathroom Sink Drain Stop Pop Up Only -Install/Replace Bathroom Sink Drain Stop Assembly -Install/Replace Bathroom Faucet Handle -Install/Replace Bath/Laundry Exhaust Fan Ducting -Install/Replace Bath/Laundry Exhaust Fan Cover -Install/Replace Bath/Laundry Exhaust Fan -Install/Replace Baseboard -Install/Replace Base Cabinet(s) -Install/Replace Backsplash -Install/Replace Attic Scuttle Cover -Install/Replace Attic Ladder -Install/Replace Attic Access Trim -Install/Replace Anti-Tip Bracket -Install/Replace Angle Stop -Install/Replace Air Freshener -Install/Replace Address Numbers - Nail On (per number) -Install/Replace Address Numbers - Adhesive -Install/Replace 3 Piece Bathroom Hardware Set -"Install/Replace 2"" Blinds - 72""" -"Install/Replace 2"" Blinds - 60""" -"Install/Replace 2"" Blinds - 48""" -"Install/Replace 2"" Blinds - 36""" -"Install/Replace 2"" Blinds - 24""" -"Install/Replace 1"" Mini Blinds" -Install/Replace - Deadbolt -Install/Replace - Knob/Deadbolt Combo -Install Water Well/Pump -Install Top Soil -Inspect/Service Fireplace -Inspect Well System -Inspect Septic Tank -Inspect Jetted Bathtub -Inspect Foundation -Initial Lawn Mowing -Hardwood Flooring Refinishing - Stair Labor -Hardwood Flooring - Stair Labor -Grind Trip Hazard -Grind & Paint Wrought Iron Fence -Full Home Plumbing Repipe -Frost Window -Fire Extinguisher -Fill HVAC Lineset Wall Penetration -Fill Dirt - Install/Replace -Fiberglass Chip - Repair -Dryer Vent Exterior Penetration - Standard -Dryer Vent Exterior Penetration - Concrete -Dispose Hazardous Materials -Detect Slab Leak -Demo/Seal Fireplace -Demo Window Blinds -Demo Window Bars -Demo Water Softener -Demo Water Filter/RO -Demo Wallpaper -Demo Vertical Blinds -Demo Utility/Laundry Sink -Demo Tile Flooring -Demo Structure -Demo Storm Door -Demo Sticker/Decal -Demo Shower Door -Demo Shelf -Demo Sheet Vinyl Flooring -Demo Security System -Demo Security Door -Demo Screen Door -Demo Satellite Dish (Remove Bracket & Patch) -Demo Satellite Dish (Leave Bracket) -Demo Popcorn Ceiling Texture -Demo Pool Heater -Demo Pocket Door / Create Pass-Through -Demo Mantle -Demo Luxury Vinyl Plank Flooring -Demo Low Voltage Wiring -Demo Light Fixture -Demo Laminate Flooring -Demo Ivy -Demo Irrigation System -Demo Hardwood Flooring -Demo Garbage Disposal -Demo Fence -Demo Exterior Penetration Pet Door -Demo Evaporative (Swamp) Cooler -Demo Door Chain/Latch -Demo Deck Stairs -Demo Deck Railing -Demo Deck -Demo Curtain Rod -Demo Concrete -Demo Ceiling Fan -Demo Carpet -Demo Cabinet -Demo Backsplash -Demo Appliance - Washing Machine -Demo Appliance - Washer/Dryer -Demo Appliance - Vent Hood -Demo Appliance - Refrigerator -Demo Appliance - Range -Demo Appliance - Oven -Demo Appliance - Microwave -Demo Appliance - Dryer -Demo Appliance - Dishwasher -Demo Appliance - Cooktop -Demo Appliance - All -Deep Clean Vent Hood -Deep Clean Refrigerator -Deep Clean Oven/Range -Deep Clean Microwave -Deep Clean Dishwasher -Deep Clean Cooktop -Cutout Countertop for Sink -Completion Package -Clean Whole House - Wipedown Clean -Clean Whole House - Deep Clean -Clean HVAC Ductwork -Clean Gutters -Clean Fireplace -Clean Dryer Vent -Clean Carpet -Clean Cabinet -Caulk Single Fixture -Caulk Kitchen Fixtures & Counters (per room) -Caulk Countertop -Caulk Bathroom Fixtures & Counters (per room) -Carpet - Stair Labor -Cap Gas Line -Camera Main Sewer Line -Asbestos - Remediate -Asbestos - Inspection -Adjust/Repair Pocket Door -Adjust Water Pressure Reducing Valve -Adjust Shower Door -Adjust Self-Closing Hinges -Adjust Gate -Adjust Garage Door Safety Sensors -Adjust Garage Door Auto Reverse -Adjust Door/Hardware -Adjust Cabinet Drawer -Adjust Cabinet Door -Adjust Bifold Door -Adjust Bathroom Sink Drain Stop -Acid Wash Pool Surface -Acid Wash Bathtub/Shower -Revenue Share -Major Remodel -Mold (Disaster Relief) -Damaged/Replacement -Asset Data Collection -Asset Data Collection -Asset Data Collection -LVT Project -Polished Concrete Project -Discount Rate -Lock Installation -Lock Installation -Repair -Repair -Repair -Repair -Repair -Repair -Adjustment -Tier 6 -Tier 5 -Tier 4 -Tier 3 -Tier 2 -Tier 1 -Revenue Share -Repair -Boiler -Chiller -Wall Panels -Demos -Repair Damaged -Repair -Fan issue -Electrical/lighting -Broken Fixture -Fan issue -Electrical/lighting -Broken Fixture -Fan issue -Electrical/lighting -Broken Fixture -Electrical/Lighting -Crank Maintenance -Minor Construction -Keypad Lock -Scheduled Cleaning -Deep Cleaning  -Adjustment -Tennant T300 Scrubber CAPEX -Tennant Scrubbers/Sweepers -Tenant Allowance -Sanitization Service -Nashville Refresh Project -Floor Care Restroom Service -Bundled Janitorial Service -VCT - Routine -Reschedule Services -Polished Concrete Rejuvenation/Resealing -Performance Issue -No Show/Merchandise Removal Fee -Missed Service -LVT Scrub Remodel W/ Janitorial Cleaning -Floor Cleaning (Non Carpet) -Carpet Cleaning/Extraction -"Sweep, Scrub, & Buff" -Concrete Floor Scrub w/ Janitorial Cleaning -LVT Floor Scrub w/ Janitorial Cleaning -Strip & Wax w/ Janitorial Cleaning -Scrub & Recoat w/ Janitorial Cleaning -"Sweep, Scrub, & Buff w/ Janitorial Cleaning" -Branch Inspection -Service Feedback -Damage/Flooding -Autoclave Repair -Clean-Up -Steamers-Plumber Needed -Vacant -Survey -Survey -Wood -"Winterization, Temp Utilities & Heat" -Windows -Window/Wall Unit -Window Wells -Window Washing -Window Repair -Window Glazing -Water Treatment -Water Treatment -Water Meters -Water Meters -Water Main Repair & Replace -Water Heater -Water Heater -Water Features -Washer/Dryer -Wallpaper -Wall & Attic Insulation -Vinyl -Vinyl -Vents/Grilles/Registers -Vehicle Expenses And Fuel -Utility Sink -Utility Meter & Tap Fees -Tub/Shower -Trim -Tree Removal -Tree Pruning -Trash Haul -Topsoil/Sand/Gravel -Toilet -Toilet -Tile/Grout Cleaning -Tile Roof Replacement -Tile -Tile -Thermostat -Sump Pump -Sump Pump -Stucco -Stucco -Structure Demo -Stairs/Rails - Interior -Stairs/Rails - Interior -Stairs/Rails - Exterior -Stairs/Rails - Exterior -Split System/Heat Pump -Split System/Gas -Specialty Tile -Specialty Tile -Specialty Hardware -Specialty Coatings -"Soffit, Eaves & Fascia" -Small Tools & Supplies -Skylights -Skylights -Site Grading -Siding Replacement -Siding Repair -Shutters -Shower Door -Shower Door -Shingle Roof Replacement -SFR Recuring Subscription Clean -SFR Clean - Post Construction -Sewer Main Repair & Replace -Septic -Seeding & Sodding -Security Systems/Alarms -Security Systems/Alarms -Security Systems/Alarms -Screens -Saas Fees -Rough Lumber & Material -Roofing & Flashing Repairs -Rods & Shelves -Retaining Walls -Rental Equipment -Remote Access And Lockboxes -Remediation -Remediation -Reglaze & Resurface -Refrigerator -Refresh Clean -Range Hood/Microwave Combo -Range Hood -Propane Tanks -Private Inspections -Pressure Washing -Pool/Spa Demo -Pool Surface -Pool Service -Pool Safety -Pool Heating/Cooling -Pool Decking -Pool Construction -Pool Cleaning Systems & Features -Plumbing Fixtures & Equipment -Plumbing -Plant Materials -Paving & Flatwork -Paving & Flatwork -Paint Prep/Drywall Repair -Package System/Heat Pump -Package System/Gas -Oven/Range -Outlets/Switches -Outlets/Switches -Other Roof Replacement -Other -Odor Treatments -Mulch -Mowing & Landscape Service- Initial -Misc. Job Office Expense -Misc. Exterior Hardware -Mirror -Mini-Split System -MFR Recuring Subscription Clean -MFR Clean - Post Construction -Masonry Restoration & Cleaning -Mailboxes & Directories -Luxury Vinyl Tile -Luxury Vinyl Tile -Luxury Vinyl Plank -Luxury Vinyl Plank -Low Voltage & Misc. Electric -Light Bulbs -Lawn Sprinklers/Irrigation- Service/Repair -Lawn Sprinklers/Irrigation- Install -Laminate -Laminate -Kitchen Sink -Kitchen Sink -Job Level Salary -Irrigation Controller/Timer -Interior Paneling/Wainscotting -Interior Paneling/Wainscotting -Interior Paint -Interior Light Fixtures -HVAC Service & Repairs -HVAC Extras -Hazardous Mat. Removal/Disposal -Gutters -General Roofing & Gutters -General Pool -General Plumbing -General Paint & Coatings -General Laundry -General Landscape -General Interior Finishes -General HVAC -General Flooring -General Fees -General Exterior Finishes -General Electric -General Disposal & Remediation -General Contracting Fees -General Cleaning Services -Gates & Gate Operators -Gas Main Repair & Replace -Garage Service & Accessories -Garage Doors -Garage Door Openers -Furnishing Install -Furnace -Framing -Foundation Repairs -Flooring -Floor Prep -Flat Roof Replacement -Fireplace -Fire And Life Safety -Finish Hardware & Bath Accessories -Fencing - Wood -Fencing - Wood -Fencing - Vinyl/PVC -Fencing - Vinyl/PVC -Fencing - Iron -Fencing - Iron -Fencing - Chain Link -Fencing - Chain Link -Fencing - Brick/Block -Fencing - Brick/Block -Fencing -Fans -Extra - Spec. Gutters/Drainage -Extermination -Exterior Wood Repair -Exterior Vents -Exterior Paint -Exterior Light Fixtures -Exh. Fans & Dryer Vent -Evaporative (Swamp) Cooler -Electrical Service -Electrical Panel -Electrical Panel -Electrical -Dumpsters -Ductwork -Ductwork -Drywall -Drain Pans/Condensate Lines -Doors - Screen/Storm -Doors - Interior Hardware -Doors - Interior -Doors - Exterior Hardware -Doors - Exterior -Doorbell -Doorbell -Disposal -Dishwasher -Disconnects/Fuses -Disconnects/Fuses -Detached Structures -Demolition And Removal -Deck Stain -Deck Repair -Deck Install & Replacement -Deck Demo -Countertops -Cost Estimating -Contingency -Consumables -Construction Trash Out -Condenser -Condenser -Commercial Clean -Clearing & Grubbing Hard Cut -Cleaning Supplies -Cleaning Equipment -Chimney -Caulk Fixtures/Trim -Caulk Fixtures/Trim -Carpet Repairs -Carpet Cleaning -Carpet -Cabinets Replace -Cabinets Repairs -Cabinet Paint -Building Inspections & Permits -Brick/Stone -Brick/Stone -Blinds & Window Coverings -BBQ & Firepit -Bathroom Sink -Bathroom Sink -Auger/Snake Individual Fixture -Auger/Scope Main Lines -Attic Access/Ladder -Attached Structures -Appliance Service -Appliance Install Accessories -Appliance Install -Air Handler -Air Handler -Address Numbers -Acoustic/Drop Ceiling -Acoustic/Drop Ceiling -AC Only System -Trip Charge -Vet Chest Freezer -Dryer Vent Cleaning -Air Scrubber -Repair -Install -Install -Replace -Replace -Repair -Install -Off Track -Mailbox -Driveway -Garage Door -Siding -Mailbox -Driveway -Toilet Seat -No Show/Missed Service -Equipment Scrubber Not Working -Checklist Not Complete -Monthly Landscape Review -Parking Signs -"Not Working, Broken or Damaged" -Not Working -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Not Working -Not Heating -No Power -No Humidification -Door/Handle Issue -Control Panel Not Working -Not Working -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Not Working -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Charger Replacement -Battery Replacement -Purchase -Client Owned -Rental -Repair -Replace -Repair -Plumbing -Other -Monitoring -Failed -Cleaning -Customer Credit -Concession Credit -Overall Drywall - Light -Overall Drywall - Heavy -Replace Gas HVAC Package Unit -Replace Electric HVAC Package Unit -General Permit Fee - Plumbing -General Permit Fee - HVAC -General Permit Fee - Electrical -Replace Single Overhead Garage Door -Replace Double Overhead Garage Door -Prep Subfloor -Replace Gcfi Outlet W/ Weatherproof Cover -Replace Medicine Cabinet -Remove Medicine Cabinet - Surface Mount -Remove Medicine Cabinet - Recessed -Replace Washer - Material Only -Replace Vent Hood - Material Only -Replace Range- Material Only -Replace Refrigerator- Material Only -Replace Wall Oven- Material Only -Replace Microwave- Material Only -Replace Dryer- Material Only -Replace Dishwasher- Material Only -Replace Cooktop - Material Only -Replace Washer - Labor Only -Replace Vent Hood - Labor Only -Replace Range- Labor Only -Replace Refrigerator- Labor Only -Replace Wall Oven- Labor Only -Replace Microwave- Labor Only -Replace Dryer- Labor Only -Replace Dishwasher- Labor Only -Replace Cooktop - Labor Only -Replace/Install Sheet Of Plywood/OSB -Remove Solar Panels From Roof -Remove Additional Layer Of Shingles -Replace/Install Water Heater Platform -Sink Re-Installation -Replace Shower Kit (Pan And Surround Panels) -Replace Bath And Shower Kit (Tub And 3-Piece Surround Panels) -Upgrade Water Meter Spread -Snake/Clear Drain Line -Septic Pump Out/Inspect -Replace/Install Laundry Washer Box And Valves -Replace Main Plumbing Stack -Remove/Replace Polybutylene Piping -Remove Water Softener -Replace Entire Tub/Shower Trim Kit -Drylok Paint -Stump Grinding -Replace Landscaping Timbers -Replace Concrete Retaining Wall -Prep And Install Grass Seed -Install Fill Dirt/Soil -Crane Rental -Replace Stair Riser/Tread -Pressure Wash - Home Only (>2500sqft) -Pressure Wash - Home Only (<2500sqft) -Pressure Wash - Full Service -Pressure Wash - Driveway & Walkways -Pressure Wash - Deck/Patio -Replace Sliding Glass Door Handle/Lock -Replace Exterior Door Lockset Combo (Lever And Deadbolt) -Replace Exterior Door Lockset Combo (Knob And Deadbolt) -Install Single Sided Deadbolt w/ Exterior Blank Plate -Initial Access: Drill Out Locks -Replace Interior Door Casing -Replace Concrete Retaining Wall -Replace/Install Self-Closing Hinge (Adjustable Spring) -Replace/Install Door Viewer -Replace Standard Door Hinge -Replace Screen Door -Replace Prehung French Doors -Replace Brickmold -Repair Screen Door -Project Dumpster/Debris Removal (40 Yard) -Project Dumpster/Debris Removal (30 Yard) -Project Dumpster/Debris Removal (20 Yard) -Replace Suspended Ceiling -Replace Individual Ceiling Tiles -Foundation Repair/Placeholder -Foundation Assessment/Inspection -Tile Cleaning -Replace Transition Strip -Replace Soffit - Wood -Replace Soffit - Aluminum -Replace Siding - Wood -Replace Siding - Vinyl -Replace Siding - Fiber Cement -Replace Fascia - Wood -Replace Fascia - Aluminum -Replace Light Fixture - Vanity Bar -Replace Light Fixture - Chandelier -Replace Window Sill -Replace Window Locks -Replace Interior Window Casing -Replace Stair Railing - Wrought Iron -Replace Stair Railing - Wood -Replace Stair Railing - Vinyl -Replace Porch Railing - Wrought Iron -Replace Porch Railing - Wood -Replace Porch Railing - Vinyl -Replace Deck Railing - Wrought Iron -Replace Deck Railing - Wood -Replace Deck Railing - Vinyl -Replace Balcony Railing - Wrought Iron -Replace Balcony Railing - Wood -Replace Balcony Railing - Vinyl -Overall Cleaning - Light Clean -Overall Cleaning - Deep Clean -Appliance Deep Cleaning -Additional Spot Cleaning -"Replace/Install Complete Vanity Cabinet - 72""" -"Replace/Install Complete Vanity Cabinet - 60""" -"Replace/Install Complete Vanity Cabinet - 48""" -"Replace/Install Complete Vanity Cabinet - 36""" -"Replace/Install Complete Vanity Cabinet - 30""" -"Replace/Install Complete Vanity Cabinet - 24""" -"Replace/Install Complete Vanity Cabinet - 18""" -"Replace Vanity Countertop w/ Molded Sink(s) - 72""" -"Replace Vanity Countertop w/ Molded Sink(s) - 60""" -"Replace Vanity Countertop w/ Molded Sink - 48""" -"Replace Vanity Countertop w/ Molded Sink - 36""" -"Replace Vanity Countertop w/ Molded Sink - 30""" -"Replace Vanity Countertop w/ Molded Sink - 24""" -"Replace Vanity Countertop w/ Molded Sink - 18""" -Replace Countertop - Quartz -Repaint Medicine Cabinet -Dryer Vent Cleanout -Survey -LED Message Center -Window Vinyls -External Move -Internal Move -"Not Working, Broken or Damaged" -Leaking -Safety Inspection Survey -Maintenance Survey -Deep Cleaning -Schedule Cleaning -Electrical Lighting -Dock Doors/Man Doors -HVAC -Special Information Request -Non-emergency Location Access -Customer Service Visit -Maintenance Management -Disaster Response -New Build/Decom -Valves/Plumbing -Timer -Motor -Filter Sand Change -Filter Clean Needed -Vacant Property Assessment -Annual Combo Change -Not Working -Dispatch Service -Dispatch Service -Customer Owned -Rental -Electrical/Lighting -Dock Doors/Main Doors -HVAC -Customer Trash Can -Install/Move -Humidity Issue -Stuck -Stuck -Will not open/close -Replace -Repair -Schedule Preventative Maintenance -Dock Bumpers Damaged/Broken -Not Sealing -Replace -Leveler Damaged/Broken -Loose/Damaged -Hardware -Repair parking lot -Repair concrete -Repair damaged -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Install/Remove Lockbox -Check Thermostat -Customer Trash Can -Install/Move -Monthly PM -Annual PM -Signet Furniture -Vacant Building Inspection -Code Change -Code Change -Code Change -Code Change -Code Change -Code Change -Code Change -Code Change -Code Change -Code Change -Code Change -Installation -"Not working, Broken or Damaged" -Not Working -Broken/Damaged -Installation -Survey Live Test -Parts Purchase -Parts Purchase -IT Support -Volation/Fine -Stormwater Management -Odor -Hazardous Material -Initial Environmental Assessment -Post Environmental Assessment -Other -Broken/Damaged -Not misting -Leaking -Roof inspection -"Replace landscaping rock (2"" thick)" -Replace/install water heater drain pan -Replace water heater supply line -Replace Seismic Straps -Replace door stop -Shower Curtian Rod - tension fit -Shower Curtian Rod - permanent -Replace washer valve -Install sliding glass door security bar -Replace vanity countertop w/ molded sink -Replace/install complete vanity cabinet w/ sink -Replace complete electric HVAC system -Replace complete gas-split HVAC system -Replace/install bi-fold door -Replace/install bi-pass door -Replace/install bath control levers and trim kit -Repaint garage door -Replace prehung sliding glass doors -Replace/install fence post -Replace/install fence picket -Replace/install fence panel -Project dumpster fee -Replace/install TPR valve -Clean and inspect fireplace for safe operation -Replace light fixture -Replace/install tile surround -"Full interior repaint (walls, ceilings, and floor)" -Replace cabinet floor -Replace angle stop -Replace cabinet hardware (knobs/pulls) -Re-skin cabinet floor -Replace toilet paper holder -Replace towel ring -Service garage door -Security Alarm Fee Adjustment -Security Brackets -Unable To Lock/Unlock -Keypad Issue -Unable To Lock/Unlock -Keypad Issue -Order Lights -Magenta Rope Lighting -"Computers, Internet, Registers, Remotes, Wi-Fi" -Other -Will not open -Will not close -Weather stripping -Other -Latch/Closer/Hinge issue -Handle/Door Knob/Chime -Dragging -Door Frame Issue -Broken Door -Tenant Brand Sign -Gophers -Geese -Remove Decals/Promotional signage -Other -Fence -Door -Building structure -Bollard -Power washing exterior building -Awning cleaning -Deep cleaning -Window Cleaning -Other -Will Not Heat Up -Will Not Turn On -Repair -Condition Assessment -Load Bank -Annual -Airflow Issue -Cleaning -Cleaning -Cleaning -Supply Line/Valve -Supply Line/Valve -Repair/Maintenance -Well System Issues -Install -Hallway -HVAC Asset Survey -Vacant Property -Property Inspection -Vacant Filter Change -Water Diversion -Other -Won't Open/Won't Close -Annual Fire Sprinklers -Semi-annual Fire Sprinklers -Quarterly Fire Sprinklers -Pick-up and Dispose -Vandalism -Not Heating -Not Cooling -Making Noise -Leaking Water -Airflow Issue -Main Aisle Mini Wax -Wash and Buff (VCT - SSB) -Wash and Buff (Polished Concrete) -LVT & BBT Wash (Bacteria free) -Other -Electrical Panel Inspection -Full Home Electrical Swap -Replace quarter round/shoe molding -Helpdesk 3 -Helpdesk 2 -Other -More than 25 lights out -Exit signs -Emergency lighting -6-25 lamps out -1-5 lamps out -Survey -Semi-annual -Quarterly -Monthly -Field Line Issues -Gas Lines -Oxygen Lines -Vent Hood/Ventilation System -Dsc-Specific Electrical -Steamers -Gas Boosters -Fuel Deployment -Generator Maintenance -Generator Deployment/Connection -Demo/Remediation -Water Extraction/Dry Out -Post Environmental Assessment -Initial Environmental Assessment -R & M Services -Computer Monitor Swing Arm -Affiliate Found on Site -No Working Toilet -Monthly Landlord Cleaning -Found on PM -Platform Adoption Fee -Off-Platform Fee -Asbestos Remediation -Asbestos Test -Communication Issue -Rental Inspection -Landscaping or Debris Removal -Backroom Inspection -Vestibule Cleaning Payment -EHS Project -Exterior Maintenance -Parking Lot -Alarming -Annual Fee -Plexiglass Install -Cooktop -Dryer -Stackable Washer/Dryer -Washer -Wall Oven -Vent Hood -Refrigerator -Range/Oven -Microwave -Dishwasher -Other -Other -Full interior touch-up paint -Repair window trim -Recaulk/seal window exterior -Replace/install rain cap -Install lockbox -Replace dryer vent cover -Replace dryer vent -Repair dryer vent -Replace thermostat -Replace/install sump pump -Repair sump pump -Clean and sweep fireplace -Cap and seal fireplace -Repoint/tuckpoint brick -Repoint/tuckpoint brick -Repaint stucco -Repaint siding -Repaint soffit -Repaint facia -Remove wallpaper -Service water heater -Service HVAC system -Replace sewer clean out cover -Replace/install fire blocking -Replace/install fire blocking -Other -Other -Other -Back Charge -Credit Memo -Material Amount Offset -Material Amount -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -IHT Fee -Warranty Replacement -Inspection -Survey -Found on PM -Contracted -Positive Case -Other -Name Plates - Order New -Install Other -Install Drive Up Banners -Order New Materials -Pylon/Monument Sign - Repair or Replace -Non Illuminated Signage - Repair or Replace -Illuminated Signage - Repair or Replace -Generic Directional Signs -Chase Branded Directional Signs -Water Treatment -Storage Cost Reimbursement -Cleaning -Exit Signs - WV -Emergency Lighting - WV -Semi-monthly -Weekly -New Store - Initial Service -Found on PM -Trip Charge -Semi-annual -"ATM Survey,Standalone COVID Cleaning Payment" -Enhanced Scope -Day Portering -Additional Service Day Payment -Supplies -Warranty Repair -New Unit Install -COVID Day Portering -COVID Additional Service Day Payment -COVID-19 Supplies -Regular Consumable Supplies -HVAC Survey -Water Treatment -Annual -Key Replacement -Lock Replacement -Preventative -Positive Case -"Replace/install complete vanity cabinet w/ sink - 36""" -"Replace/install complete vanity cabinet w/ sink - 30""" -"Replace/install complete vanity cabinet w/ sink - 24""" -Replace/install 30oz carpeting w/ new pad -Replace/install 25oz carpeting w/ new pad -Replace storm window -Replace window screen and frame -Repair window screen -Permit fee - Water Heater Replacement -Replace/install water heater thermal expansion tank -Replace water heater - 50g Direct Vent -Replace water heater - 50g Gas -Replace water heater - 50g Elec -Replace water heater - 40g Gas -Replace water heater - 40g Elec. -Replace 3-piece Bath Accessory Kit -Replace Towel Bar -Install Fire Extinguisher -Replace smoke detector (wired) -Replace smoke detector (battery) -Replace undermount kitchen sink (steel) -Replace kitchen faucet - upgrade -Replace kitchen faucet - standard -Reconfigure kitchen sink drains -Replace alcove bathtub -Replace shower/tub valve cartridge -Replace showerhead -Replace Exterior GFCI Weatherproof cover -WDIIR Inspection -Provide quote for Termite Treatment -Provide quote for bird removal -Bed Bug Treatment (Additional Room) -Bed Bug Treatment (Intial Room) -Flea/Tick Treatment -Treat property for Yellow Jackets/Hornets -Treat property for Wasps -Remove Bee Swarm -Inspect/Treat property for Rodents -Treat property for German Roaches -Treat property for American Roaches -Treat property for Spiders -Treat Ant Infestation -One Time General Pest Treatment -General Permitting Fee -"Full exterior repaint (siding/walls, trim, gable ends, etc; foundation to roofline)" -Repaint all interior cabinetry - Interior & Exterior -Repaint all interior cabinetry - Exterior Only -"Repaint all interior walls, doors, trim (no ceilings)" -Repaint all interior wall surfaces (walls only) -Interior primer prior to paint -"Full interior repaint (walls, ceilings, doors, trim)" -Completion Package - Door hardware -"Completion Package - Bulbs, Batteries, Filters" -Completion Package - Switch & Outlet Covers -Pressure Wash - Driveway & Walkways -Pressure Wash - Deck/Patio -Pressure Wash - Home Only (>2500sqft) -Pressure Wash - Home Only (<2500sqft) -Pressure Wash -Full Service -Full clean entire home -Replace wall mounted mail box -Second Avenue: Other Ext. Door Lock Change -Second Avenue: Front Door Lock Change -Replace light fixture - 6 bulb vanity bar -Replace light fixture - 4 bulb vanity bar -Replace chandelier -Replace light fixture - can -Replace light fixture - wall sconce -Replace light fixture - flush mount -Replace/Install Dehumidifier -Clean Gutters (2 story) -Clean Gutters (1 story) -Replace/install gutter -Replace Garage Door Opener Remote -Repair door jamb -Replace window well cover -Carpet Cleaning -Reset Appliance -Carpet Restretch -Stair Labor -Install Tackstrips -Demo Wood Flooring -Demo Laminate -Demo Vinyl Flooring -Demo Tile -Demo Carpet -Replace LVP flooring (glued) -Replace LVP flooring (floating) -Replace laminate flooring -Replace countertop - Granite -Replace countertop - Laminate -Replace ceiling drywall in specified room -Replace quarter round/shoe modling -Building Assessment -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -"Not Working, Broken or Damaged" -Installation -"Not Working, Broken or Damaged" -Installation -"Not working, Broken or Damaged" -Installation -Conversion -Handrail Replace -Handrail Repair -Replace -Repair -Annual Floor Service -Janitorial Vendor Survey -Not working -Overgrown/Service Needed -Snow Request -Pool specialty inspection -Foundation specialty inspection -Roofing specialty inspection -HVAC specialty inspection -Other specialty inspection -Other - WV -Damaged - WV -Camera Issue - WV -Code Change -LED light strips - WV -Magenta Rope Lighting - WV -Unable To Lock/Unlock - WV -Keypad Issue - WV -Unable To Lock/Unlock -WV -Keypad Issue - WV -Broken -Electro Freeze -Taylor -New Unit Install -Face Sheild/Sneeze Guard -Speed bumps -Remove -Repair -Install -Payment -Full Day -Visit - Exterior Only -Visit - Interior Only -Visit - Interior + Exterior -Payment -Exterior Pressure Washing -Secured Area Cleaning -Furniture Maintenance -Carpet Maintenanance -Hard Floor Maintenance -Dust Vents & Blinds -Window Cleaning 3+ Floors -Window Cleaning -Clean Stairwells -Speical Cleaning -Exterior Pressure Washing -Secured Area Cleaning -Furniture Maintenance -Carpet Maintenanance -Hard Floor Maintenance -Dust Vents & Blinds -Window Cleaning 3+ Floors -Window Cleaning -Clean Stairwells -Nightly Cleaning -Payment -SMS assessment -Prepare Inspection report -Prepare Inspection report -Prepare Inspection report -Prepare Inspection report -Construction WO -"Replace Cord, Plug, Connection - C&R" -Not Dispensing Product - C&R -Not Blending - C&R -No Power - C&R -Water leaking - C&R -Other - C&R -Cooling issue - C&R -Not Blending - C&R -No Power - C&R -Making Noise - C&R -Leaking - C&R -Turn on all utilities -Replace entire tile roof -Replace entire dim shingle roof -Replace entire 3-tab shingle roof -Repair damaged/leaking roof -Remove gutter system as specified -Repaint gutters -Replace/install splashblock(s) -Replace/install downspout(s) -Replace/install gutter system -Repair existing gutter system -Replace removable pool fence -Repair existing pool fence -Repaint pool surface -Replace pool deck access covers -"Replace pool accessory (diving board, ladder)" -Replace pool heater -Replace pool filtration equipment -"Repair pool accessory (diving board, ladder)" -Repair pool water lines -Repair pool heater -Repair pool filtration equipment -Repair fiberglass pool surface -Repair tile pool surface -Repair plaster pool surface -Replace water heater -Repair water heater -Replace tank -Replace complete toilet -Replace toilet seat -Replace supply line -Install bolt caps -Replace tank-to-bowl kit -Replace wax ring -Replace handle -Replace flapper -Replace flush valve -Replace fill valve -Repair closet flange -Remove shower doors -Prep and resurface surround -Replace glass surround panel(s) -Replace glass shower doors -Replace/install surround panels -Regrout tub/shower tiles -Repair glass shower doors -Recaulk tub/shower surround -Repair tile tub/shower surround -Remove utility sink -Remove vanity & lav sink -Resurface lav sink -Resurface kitchen sink -Replace vanity & lav sink -Replace kitchen sink (porcelain) -Replace kitchen sink (steel) -Replace utility faucet -Replace kitchen faucet -Replace lav faucet -Replace air gap -Repair/replace P-trap -Replace supply lines -Replace kitchen sink baffle -Replace kitchen sink strainer -Repair utility faucet -Repair kitchen faucet -Repair lav faucet -Repair lav sink popup -Prep and resurface tub -Replace deck-mounted tub faucet -Replace tub spout -Replace tub drainstop -Replace shower/tub valve -Repair deck-mounted tub faucet -Repair showerhead -Repair shower/tub valve -Replace water treatment system -Repair main water supply -Repair water treatment system -Repair pipes -Replace frost-proof hose bib -Replace standard hose bib -Repair existing hose bib -Sewer camera -Repair existing DWV system -Perform exterior flea treatment -Perform interior flea treatment -Bedbug treatment -Pest exclusion -Other WDP treatment -Termite treatment (tenting) -Termite treatment (ground) -Bat removal -Rodent removal -Bird removal -General exterior pest treatment -General interior pest treatment -Repaint entire room complete -Repaint all room ceiling -Repaint all room trim -Repaint all room walls -Repaint all exterior doors/trim -Repaint all exterior walls of home -Repaint all interior cabinetry -Repaint all interior ceilings -Repaint all interior doors/trim -Repaint all interior wall surfaces -Perform odor-sealing of concrete slab -Perform ClO2 treatment -Perform ozone treatment -"Mow, trim, dress entire property" -Mulch beds with cedar mulch -Mulch beds with pine straw -In-wire tree trimming -Trim trees >10' from ground -Remove tree -Remove shrubs/plants -Remove water feature -Install sod -Replace tree -Replace shrub -Repair water feature -Remove irrigation system -Install irrigation system -Replace irrigation timer -Replace drip head -Replace sprinkler head -Repair buried irrigation piping -Remove block wall -Remove fencing -Repaint block wall -Repaint/stain wood fence -Replace cinder block wall -Replace complete hogwire fence -Replace complete chain-link fence -Replace complete vinyl fence -Replace wood fencing with new posts -Replace wood fencing on existing posts -Repair fencing and/or gate -Repair landscape drainage issue -Replace HVAC register -Replace return air filter grille -Replace flex duct -Replace ductless split HVAC -Replace ground-level HVAC package unit -Replace roofmounted HVAC package unit -Replace refrigerant lines -Replace furnace -Replace air handler -Replace heat pump -Replace condenser -Install filter box -Clean HVAC ducts -Repair HVAC ducts -Repair ductless split HVAC -Repair HVAC package unit -Repair refrigerant lines -Repair furnace -Repair air handler -Repair heat pump -Repair condenser -Repaint wall -Retexture walls in entire room -Replace drywall in entire room -"Perform ""floodcut"" and repair" -Repair drywall -Remove storage shed -Repaint storage shed -Replace/install storage shed -Repair storage shed roof -Repair storage shed floor -Repair storage shed exterior -Replace stair railing -Replace stair structure -Repair stair railing -Repair stair structure -Remove detector -Replace combo detector -Replace CO detector -Replace smoke detector -Change batteries in detectors -Remove shelving -Repaint shelving -Replace closet rod -Replace wood shelving -Replace metal shelving -Repair wood shelving -Repair metal shelving -Disable security system -Remove entire security system -Install new security system -Repair existing security system -Remove satellite dish from yard -Remove satellite dish from siding -Remove satellite dish from roof -Remove mirror -Replace mirror -Resecure mirror mounts to wall -Add trim around mirror to cover lost silvering -Remove mailbox and post -Repaint mailbox -Replace mailbox post -Replace mailbox -Repair mailbox post -Repair existing mailbox -Replace dummy lever -Replace privacy lever -Replace passage lever -Replace dummy knob -Replace privacy knob -Replace passage knob -Replace ext. deadbolt with electronic -Replace ext deadbolt with manual -Replace ext door handle set -Rekey all locks to match -Remove contaminated insulation -Install insulation under subfloor in crawlspace -Install blown insulation in walls -Install blown insulation in attic -Remove contaminated ground -Install radon system -Replace vapor barrier -Repair damaged sections of existing vapor barrier -Replace door weatherstripping -Replace door threshold -Repair existing threshold -Repaint door (outside only) -Repaint door (inside only) -Replace door slab only -Repair door jam -Repair existing door/hardware -Remove door -Repaint door -Replace door slab -Replace prehung door -Repair existing door/hardware -Remove debris from interior areas -Remove debris from exterior areas -Paint ceiling -Retexture ceiling in entire room as specified -Replace ceiling drywall in entire room -Repair existing ceiling -Remove address numbers -Paint address numbers as specified -Replace address numbers -Repair existing address numbers -Remove access door -Repaint access door -Replace crawl space access panel -Replace crawl space access door -Replace attic access door/panel (no ladder) -Replace attic access ladder assembly -Repair existing access door -Replace overhead door opener -Replace overhead door panels -Replace complete overhead door -Repair overhead door opener -Repair existing overhead door -Seal exterior basement walls -Seal interior basement walls -Repair block foundation wall -Level foundation slab -Install basement drain tile system -Fill foundation cracks -Refinish all wood flooring -Replace all sheet vinyl -Replace all VCT flooring -Replace all laminate flooring -Replace all VP flooring -Replace all carpeting -Remove carpeting - expose wood -Refinish wood floor -Paint concrete floor -Replace sheet vinyl flooring -Replace laminate flooring (glued) -Replace laminate flooring (floating) -Replace VP flooring -Replace VCT flooring -Replace wood flooring -Replace carpeting -Repair/regrout floor tiles -Repair subfloor -Repair vinyl flooring -Repair carpeting -Repair wood flooring -Repair fascia -Repair soffit -Repair siding -Repair stucco -Remove improper wiring -Install new electrical circuit -Rewire entire home -Repair existing wiring -Replace electrical panel -Repair existing electrical panel -Replace switch -Replace standard outlet -Replace GFCI outlet -Correct wiring on device -Remove light -Replace ceiling fan with light -Replace light fixture >12' -Replace light fixture <12' -Repair light fixture -Replace exterior hanging light fixture -Replace post light fixture -Replace exterior flood light -Replace exterior wall-mounted light fixture -Repair exterior lighting -Remove exhaust fan and repair surfaces -Install exhaust fan -Replace exhaust fan cover -Replace exhaust fan motor -Replace exhaust fan -Repair existing exhaust fan -Replace/install wireless doorbell -Replace doorbell chimes -Repair existing doorbell -Remove ceiling fan -Replace ceiling fan -Repair existing ceiling fan -Repaint wood windows -Replace window assembly -Reglaze window pane(s) -Replace window pane(s) -Repair window balancers -Repair window locks -Replace colonial shutters -"Replace 2"" horizontal blinds" -"Replace 1"" mini-blinds" -Replace vertical blinds -Repair interior shutters -Repair horizontal blinds -Repair vertical blinds -Remove security door -Remove storm door -Repaint security door -Repaint storm door -Replace security door -Replace storm door -Repair security door -Repair storm door -Remove baseboards -Prep and paint baseboard -Replace baseboard -Repair existing baseboards -Remove balcony structure -Repaint/refinish balcony surface -Repaint balcony railings -Replace wood balcony stairs -Replace balcony railing -Replace wood balcony planks -Replace entire balcony structure -Repair existing balcony -Remove porch structure -Repaint/refinish porch surface -Repaint porch railings -Replace wood porch stairs -Replace porch railing -Replace wood porch planks -Replace entire porch structure -Repair existing porch -Remove deck structure -Repaint/refinish wood deck surface -Repaint deck railings -Replace wood deck stairs -Replace deck railing -Replace wood deck planks -Replace entire deck structure -Repair existing deck -Full clean entire home - Large -Full clean entire home - standard -Repaint vanity cabinet -Replace/install vanity cabinet -Repair existing vanity cabinet/hardware -Remove countertop -Refinish/coat existing countertops -Remove/reinstall countertops -Replace backsplash -Replace countertop -Repair existing countertop -Remove cabinet -Prep and paint/refinish complete cabinet -Replace vanity cabinet w/o sink -Replace vanity cabinet w/ sink -Replace base cabinet -Replace wall cabinet -Repair existing cabinets/hardware -Remove poured slab -Prep and paint pool deck -Repaint traffic/parking marks -Recoat asphalt with sealant -Recoat/replace pool deck surface -Replace concrete/asphalt -Repair pool deck surface -Repair existing concrete/asphalt surfaces as specified -Remove washer -Replace washer with specified model -Repair existing washer -Remove vent hood -Replace vent hood with specified model -Install new hood filters -Repair existing vent hood -Remove range -Replace range with specified model -Repair existing range -Remove refrigerator -Replace refrigerator -Replace refrigerator water filter -Repair/replace icemaker water supply line -Replace refrigerator door handle(s) -Replace icemaker unit -Repair refrigerator door icemaker -Repair refrigerator shelves/bins -Replace freezer door seal -Replace freezer door liner -Replace refrigerator door seal -Replace refrigerator door liner -Replace freezer box liner -Replace refrigerator box liner -Repair nonworking freezer -Repair nonworking refrigerator -Remove wall oven -Replace wall oven -Repair existing wall oven -Remove microwave -Replace microwave -Connect vent to exterior of home -Install new microhood filters -Repair existing microwave -Remove disposal - add strainer -Replace disposal -Repair existing disposal -Remove dryer -Replace dryer -Repair existing dryer -Remove dishwasher -Repaint dishwasher panel -Replace dishwasher -Repair existing dishwasher -Remove cooktop -Replace cooktop with specified model -Repair existing cooktop -Quality Assurance -Trouble -Repair -Filter Change/Trip Charge -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -New Equipment Install -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Screen Broken -Other -Icing Up -Water Leaking -Making Noise -Lighting -Fan Not Working -Screen Broken -Other -Icing Up -Water Leaking -Making Noise -Lighting -Fan Not Working -New Equipment Install -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Making Noise -Lighting -Fan Not Working -New Equipment Install -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Screen Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Other -Other -Icing Up -Water Leaking -Making Noise -Fan Not Working -New Equipment Install -Gasket Repair/Replacement -Not Maintaining Temp -Hinges/Latch Broken -Lighting -Fan Not Working -New Equipment Install -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Screen Broken -Other -Icing Up -Water Leaking -Making Noise -Screen Broken -Other -Icing Up -Water Leaking -Making Noise -Lighting -Fan Not Working -New Equipment Install -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Water Leaking -Making Noise -Lighting -Fan Not Working -New Equipment Install -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Screen Broken -Other -Icing Up -Shelving/Rack -Gasket Repair/Replacement -Not Maintaining Temp -Screen Broken -Other -Icing Up -Water Leaking -Making Noise -Lighting -Fan Not Working -New Equipment Install -Repair -Preventative Maintenance -Replace -Damage -Damaged -Broken -Repair -Repair -Repair -Repair -Repair -Baby Changing Station -Repair -Maintenance -Issue -Survey/Trip Charge -PM/Trip Charge -New Refrigerator -Fall Clean Up-2 -Fall Clean Up-1 -Testing -Equipment -Menu board damaged -Speaker box damaged -Other -Not Lighting -Not Blending -No Power -Making Noise -Leaking -1-9 Lamps Out -10 Or More Lamps Out -4 Fixtures Or More -3 Fixtures Or Less -Survey Count Fixtures/Lamps -Retrofit -Repair -Other -High Electric Bill -Spring Cleanup-3 -Spring Cleanup-2 -Spring Cleanup-1 -Recurring Landscape Maintenance-2 -Recurring Landscape Maintenance-1 -Soap Dispenser -Stormwater Management -Break In -Repair/Replace -Replacement -Repair/Replace -Steamer -Replacement -Damaged -Cracked -Replacement -Additional Keys Needed -Glass Shattered -Additional Keys Needed -Won't Lock/Unlock -Locks Loose/Missing -Understock Door Won't Lock/Open -Locks Loose/Missing -Door Won't Lock/Unlock -Rekey -Additional Keys Needed -Lights Not Working -Lights Not Working -Lights Not Working -Pass Through Utilities -Will Not Flush/Backing Up -Low Water Pressure -Broken Drain Cover -Screen -Gas Smell -Low Water Pressure -Low Water Pressure -Will Not Flush/Backing Up -Broken Drain Cover -Low Water Pressure -No Water -Repair -Loose -Leaking -Running Continuously -No Power -Clogged -Backing Up -Alarm Going Off -Transition Strips -Missing/Damaged Trim -Loose -Damaged -Cracked -Lock issue -Door Issue -Damaged Millwork -Damaged Mannequins -Damaged Laminate -Detaching From Wall -Hardware Loose -Door Won't Lock -Loose/Damaged -Hardware -Missing/Damaged Trim -Damaged -Won't Open/Close -Hardware -Damaged Millwork -Damaged -Wiremold Outlet -AAADM Certification and PM -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Finish Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Surface Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Hub Lab Down -Warranty Dispatch Fee -Landlord Dispatch Fee -Melitta Not Operating -Milk Unit Inoperable -Melitta Bean and Cup Completely Down -Spot Treatment -Other -Venstar-EMS -Expanded PM -Completely Down -Not Operating Properly -Completely Down -Major Leak -Not Operating Properly -Minor Leak -Dust Blinds/Vents -Evaluation -Evaluation -Evaluation -Evaluation -Fresh Pet -Nature's Variety -Petsmart Owned -Survey -Debris Removal -Replace -Visit -Visit -Visit -Slurpee Machine -PM Major/Full -PM Major/Lite -HVAC/R PM/Major -Power Washing -Power Washing -Generator Rental -BMS Subscription Service -Spinner Locks -Showcase Locks -Interior Door -Exterior Door -Other -Signage Part -Lighting Part -HVAC Part -Main controller -Supply air -Humidity -CO2 -outside air -photocell -zone sensor -Intermittent polling -Main controller offline -Entire network offline -Two or more zones offline -One zone offline -Entire RTU network offline -Three or more units offline -Two units offline -One Unit Offline -Part Replacement Request -Main Controller -Lighting Controller -Part Replacement Request -Main Controller -RTU Controller -Installation -Unable to Secure -Multiple Equipment Type -Filter Change -Fire Extinguisher Inspection -Venstar -Venstar -FD - Damage -FD - Damage -FD - Damage -FD - Face Damage -FD - New Install -FD - Face Damage -Additional Keys Needed -Additional Keys Needed -Loose/off wall -New Equipment Install -Other -Leaking -Clogged -Water Line -Shut Down -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Hopper Sensor -Hopper Issue -Improper Calibration -Improper Calibration -Improper Calibration -Smoking/Electrical Smell -Not Alerting -No Hot Water/Tea -No Water -Improper Calibration -Improper Calibration -Making Noise -Improper Calibration -No Steam -Improper Calibration -Too Hot -PetSmart - Interior Doors -Ice Build Up -Glass -Other -Glass -Other -Glass -Gasket Repair/Replacement -Other -Not Holding Temp -Other -New Equipment Install -Too Warm -Too Cold -Other -Not Dispensing Product -No Power -Leaking -Other -New Equipment Install -New Equipment Install -Leaking -New Equipment Install -New Equipment Install -Leaking -New Equipment Install -Other -Not Maintaining Temp -Making Noise -Leaking -Gasket Repair/Replacement -Steam Wand Issue -Porta Filter -In-Line Filter -Grinder Issue -New Equipment Install -Leaking -New Equipment Install -"Replace Cord, Plug, Connection" -Other -Not Dispensing Product -Not Blending -No Power -Clean Stairwells -Dust Vents -Exterior Window -Strip and Wax -Vacuum Furniture -Dust Blinds -Interior and Exterior Window -Waste Clean-up -Asbestos -PetSmart - Interior Doors -Sourcing Fee Credit -Sign Completely Out -Gasket Repair/Replacement -Control Panel Not Working -Oven Hood -Filter Change -CONC -Spot -CONCRM -Energy Review Services -New Equipment Install -Not heating -No power -New Equipment Install -Not heating -No power -Other -Water Leaking -New Equipment Install -Lighting issue -Handle -Door -Cooling Issue -Other -Water Leaking -New Equipment Install -Lighting issue -Handle -Door -Cooling Issue -Running -Overflow -Other -No Hot Water -Loose -Leaking -Clogged -Shut Down -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Other -Not Heating -No Power -New Equipment Install -Conveyor Not Moving -Controls Not Working -Other -Not Heating -No Power -New Equipment Install -Conveyor Not Moving -Controls Not Working -Replace hose -Not dispensing -Replace hose -Not dispensing -Too Hot -Too Cold -Thermostat -"Repair/Replace Cord, Plug, Connection" -Repair -Not Holding Temp -No Power -Shut Down -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Shut Down -Poor Taste -Other -Not Dispensing Product -No Power -Clog -Clogged -Slow/no water flow -Leaking -Tank not filling -Drain line running -Water -Shut Down -Other -Not keeping product hot -No Power -Water -Shut Down -Other -No Power -Wrong grind -Not grinding -Not working -Minor Water Leak -Major Water Leak -Other -Not Heating/Working Properly -No Power -Leaking -Key Request -Shrub Trimming -Making Noise -Too Warm -Minor Leak -Making Noise -Major Leak -Door Issue -Bulloch Not Processing On All Pinpads Inside -Specialty Reach In Lighting -Meatwell Lighting -French Fry Freezer Lighting -Expeditor Station Lighting -Dip Counter Lighting -Crescor Lighting -Sandwich Heated Holding Station -Product Holding Unit -Oil Filter Replacement -French Fry Dispenser -Dough Press -Water Dispenser Down -Smoothie Not Operating -Shake Machine Not Operating -Payphone -Door Gasket -Too Warm -Not Operating -Minor Leak -Making Noise -Major Leak -Door Issue -Completely Down -Too Warm -Not Operating -Minor Leak -Making Noise -Major Leak -Door Issue -Completely Down -Too Warm -Not Operating -Minor Leak -Making Noise -Major Leak -Door Issue -Completely Down -Not Operating -Minor Leak -Major Leak -Completely Down -Too Warm -Not Operating -Minor Leak -Making Noise -Major Leak -Door Issue -Completely Down -Damaged/Leaking -Repair -Trench Grate Covers/Hair Strainer -Repair -Repair -New Request -Fixtures Out -More Than 100 Lights Out -50-100 Lamps Out -1-50 Lamps Out -Damaged/Missing -Stained/Wet -Stained/Wet -Damaged/Missing -Stained/Wet -Damage/Stained -Sand Bag/Board Up -No Parking/Stop/Handicap Signage -Dispatch Service -Will Not Come Down/Go Up -Will Not Open/Close -Not Closing/Not Opening -Damaged/Missing -Edging -Other -Icing Up -Gasket Repair/Replacement -Fan Not Working -Water Leaking -Other -Lighting Issue -Handle -Door -Cooling Issue -Overhead Heat -Lights -Heat Wells -Other -Not Heating -No power -Exhaust Hood -Overhead Heat -Lights -Heat Wells -Sifter/Breader -Marinator -Filter Machine -Can Opener -Overhead Heat -Lights -Heat Wells -Shattered -Other -Cracked -Other -Frontline -Frontline -Frontline -Frontline -Frontline -Service IVR Fine -Service IVR Fine -Service IVR Fine -Contracted Services -Contracted Elevator Services -Fire Pump -ATM Transaction Fee -Repair -Additional Service Needed -Notification -Shut Down -Other -Not tilting -Not heating -No Power -New Equipment Install -Bedroom -Medicine Closet -Bedroom -Medicine Closet -Bedroom -Bedroom -Bedroom -Professional Services -Insulation -Other -Install New -Hinge -Dragging -Door Frame Issue -Auto Opener -Weather Stripping -Frame Issue -Dragging -Violation/Fine -Violation/Fine -Violation/Fine -Violation/Fine -Violation/Fine -Violation/Fine -New Equipment Install -Other -Not Heating -Install -Cleaning -Backflow Repairs -Backflow Inspection -Branch Inspection -Additional Cleaning Supplies -Deep Cleaning -General Cleaning -Verify Proper Installation and Report Findings -Verify Proper Installation and Report Findings -Store Opening Work -Temp Below 19 C or Above 25 C -Face Damage -Other -Not Working -Intercom -Repair/Maintenance -Drawer -Pneumatics -Deficiency Report -Preventative Maintenance -Cleaning -Vestibule Security Lighting -Vestibule Painting -Vestibule Graffiti Removal -Vestibule Cleaning -Snow Removal -Pest Control -Landscaping -Cleaning -Bollards -Signage Damage Repair -Signage Damage Repair -Customer Credit -Concession Credit -ATM Lighting -Branch Lighting -Name Plates Remove -Name Plates Order New -Name Plates Install -Merchandise - Marketing -Merchandise - Digital Signage -Merchandise - Compliance Signage -Lighted Signage -Non Illuminated Signage -Merchandise - Marketing -Merchandise - Install Drive Up Banners -Merchandise - Compliance Signage -Illuminated Signage -Directional -Install New Operational Signage -Exit Signage -Emergency/Safety -Directional -Flag Pole Repair -Vandalism -Off-Premise MACD -Disaster Recovery -Branch Decommission -ATM Room Door -ATM Exterior Kiosk Door -Lock Box -Lock Box -Door Card Reader -Security Mirrors -Physical Damage Repair -Painting -Graffiti Removal -Faux Cards -Decals -Voice Guidance -Unit HVAC -Outage -Monitor -Locks -Keys -Keypad -Functionality Decals -Electrical Issue -Door issue -ATM Placement -Alarm Cable -Vestibule Security Lighting -Vestibule Repair/Maintenance -Vestibule Painting -Vestibule Lights -Vestibule HVAC -Vestibule Graffiti Removal -Vestibule Cleaning -Pest Control -Inspection -Inspection -Annual -Quarterly -Trimester -Monthly -Annual -Power Outage -Sensitive Item Actions -Insurance Assessment -Post-Event Inspection -Pre-Event Inspection -Board Up -Sandbagging -Winter Rye Seeding -Municipality -Access Change Fee -HOA Fee -CAM Charge -Supplier Field Service Team -Technology Platform -Helpdesk -Oversight and Management -Miscellaneous -Window & Glass -Office -H2 -H1 -Semi-Annual Cleaning -Q4 -Q3 -Q2 -Q1 -Quarterly Cleaning -Fee -Weekly Cleaning -Sunday -Saturday -Friday -Thursday -Wednesday -Tuesday -Monday -Nightly Cleaning -Branch Access Needed -"ATM Survey, Standalone" -"ATM Survey, Branch" -ATM Lighting Survey -ATM Survey -Annual Service -Monthly Fee -Repair -Fan Not Functioning -Service -Preventative Maintenance -Preventative Maintenance -Buzzing Noise -Repair -Emergency -Cleaning Needed -Missing -Damaged -Repairs Needed -Parking Revenue -Parking Attendant -Preventative Maintenance -Monthly Fee -General Fire Safety -Emergency Exits -Fire Hydrants -Fire Extinguishers -Emergency Lights -Exit Signage & Lights -Smoke/Carbon Monoxide Detectors -Fire Sprinklers -Fire Alarm -Monitoring System -Fire Safety Equipment -General Pest Prevention -Preventative Maintenance -Filter Change + Coil Cleaning -Filter Change + Belt Change -Filter Change -Quarterly -Lights Not Working -Drawer -Timer -Locks Loose/Missing -Other -Service -Decals Missing -Mural Frame -Play Area Wall Tile -Preventative Maintenance -Preventative Maintenance -Key Switches -Sparks/Smoke -Transition Strips -Preventative Maintenance -Repair Shop -Repair Shop -Repair Shop -Repair Shop -Damaged -Replace -Repair -Inspection -Push Button Test -Damaged -Lost Key -Locks Loose/Missing -Lights Not Working -Cracked Plastic -Mirror -Understock Door wont Lock/Open -Torn Laminate -Trim Missing -Trim Bent -Swing Gate Missing -Swing Gate Loose -Lift - Stuck in Up or Down Position -Door won't Lock/Unlock -Door Broken -Repair Broken Motors/Batteries -Locks Loose/Missing -Hinge Loose/Missing -Handles Loose/Missing -Cracked Glass -Chipped Glass -Damaged -Buzzing Noise -Repair -Emergency -Schedule Change -Timer Issue -Logo Change Needed -Missing/Damaged -Inspection -Office Mat -Logo Mat -Recessed Grill Floor Mat -Shelves -Gaming System -Lockers -Security Glass -Emergency Release Device & Handle -Dark Survey -Not Operating -Completely Down -Clogged -No Water -Parts Damaged -Won't Power On -Lancer Variety Not Operating -Lancer Variety Minor Leak -Lancer Variety Major Leak -El Nino Dispenser Not Operating -Cold Coffee Nitrogen Tank Not Operating Properly -Cold Coffee Nitrogen Tank Down -Cold Coffee Nitrogen Tank Refill Needed -Cold Coffee Brew Press Not Operating Properly -Cold Coffee Brew Press Down -Grinder Not Operating Properly -Grinder Down -Power Issue -Soft Serve Machine -Lemonade Tower Not Operating -Lemonade Tower Down -Fresh Blend Machine Leaking -Fresh Blend Machine Down -F'Real Machine Not Operating -Noodle Warmer Down -Powerwasher Not Operating Properly -Powerwasher Leaking -Powerwasher Down -Shortening Shuttle Not Operating -Shortening Shuttle Down -Chicken Fryer Dump Table Down -Chicken Fryer Down -Breading Table Not Operating -Breading Table Down -Clogged -Clogged -Not Holding Water -Cracked -Drain Clogged -Clogged -Deck Drain Clogged -Drain Clogged -Rotisserie Not Operating -Biscuit Oven Not Operating Properly -Biscuit Oven Down -Cracked -Parts Damaged or Missing -Other -Exterior Surfaces -Pool Care -Permit/Code Violation -Tree Trimming/Removal -Roof Repairs -Exterior Repairs -Fencing/Gate -Landscape Cleanup -Landscape Enhancement Needed -Exterior Paint -Other -Exterior Surfaces -Pool Care -Exterior Repairs -Tree Trimming/Removal -Roof Repairs -Architectural -Fencing/Gate -HOA Inspection -Landscape Cleanup -Landscape Enhancement Needed -Exterior Paint -Upholstery Cleaning -Adjustment -EMS Dispatch -EMS Dispatch -EMS Dispatch -Other -Loose -Leaking -Running -Overflow -Other -No hot water -Loose -Leaking -Clogged -Vacant Property -Mechanical Inspection -Property Inspection -Special Cleaning -Window Cleaning -Scheduled Cleaning -NCR Radiant UPS Beeping / Not Functioning -Verifone Commander Cash Drawer Not Functioning -NCR Radiant Register Scanner Not Scanning -NCR Radiant Cash Drawer Not Functioning -NCR Radiant Pin Pad Stylus Not Functioning -Verifone Commander UPS Beeping / Not Functioning -NCR Radiant Receipt Printer Not Printing -Verifone Commander Register Scanner Not Scanning -Verifone Commander Receipt Printer Not Printing -NCR Radiant Register Not Functioning -Verifone Commander Pin Pad Stylus Not Functioning -Verifone Commander Register Not Functioning -Verifone Commander Not Processing on Some Pinpads Inside -NCR Radiant Not Processing on Some Pinpads Inside -PDI Keyboard -PDI Mouse -PDI Monitor -PDI Printer -Belt Printer Communication -Label Printer Not Printing -Printer Not Charging -Label Printer Communication -Access Point Not Functioning -Network Rack -Vestibule Security Lighting -Vestibule Repair/Maintenance -Vestibule Painting -Vestibule Lights -Vestibule HVAC -Vestibule Graffiti Removal -Vestibule Cleaning -Pest Control -Cleaning -Vestibule Security Lighting -Vestibule Cleaning -Pest Control -Lock Box -Landscaping -Cleaning -Security Mirrors -Physical Damage -Painting -Graffiti Removal -Decals -Locks & Keys Room Door -Locks & Keys Exterior Kiosk Door -Unit HVAC -Keys -Electrical -Placement -Other -Lights and HVAC -Other -Sign completely out -Letters out -Other -Sign completely out -Letters out -Signs -Letters out -Interior -Exterior -Cleaning -Window Seal -Cleaning -Hazardous Waste -Confidential Bin -Medical Waste -Shredding Bin -Security Alarm Install New -Metal Detectors -X-Ray Machine -CCTV System -Security Alarm -Key Pad -Security Breach -Card Readers -Parking Access Card -Door Release Button -Investigation -Other -Raccoons/Squirrels -"Other: Purges, Bin Access, Acct. Inquiries" -"Service: Implement New, Change to Existing, Missed" -"Location Change: New, Moved to New Address, Closed" -"Security & Risk: No/Broken Lock, Overfull Bin" -Records Storage -Order/Restock -Paper Shredders -Trolley -Computers -Printer -PA Systems -Time & Date Stamps -Photocopier -Fax Machines -TVs & VCRs -Telephone -Mail Delivery -Ergonomic -Courier -Machine Leaking -Coffee Machine Not Working -Replenish Supplies -Leaking -Filtration Not Working -Need 5 Gallon Bottles -Music -Product Out of Date -Lost Funds -Machine Not Working -Will Not Accept Payment -Machine Empty -External Move -Internal Move -External Move -External Move -Internal Move -Internal Move -External Move -Art Work -Repair -Cleaning -Locks/Keys -Reprogramming Locks -Supply Duplicate Keys -Reprogramming Locks -Timers -Lighting Above 14ft (4.3m) -Security Lighting -Install New -Walkway Lighting -Lighting Below 14ft (4.3m) -Lamps Out -Light Covers/Grates -Lamps Out -Lighting Below 14ft (4.3m) -Install New -Lighting Above 14ft (4.3m) -Cleaning -Water -Not working -No power -Filter -Clog -Reorder/Restock -Restroom -Request Special Cleaning -Window Cleaning -Human Resources -Accounting -Investigate -Account Setup -Account Closure -Interior Plant Care -Mirror -Sign -Other Hardware -Clean out/debranding -Intercom -Pneumatics -Drawer -Lane Lights -Repair/Maintenance -Reconfigurations -New -Repair/Maintenance -Cleaning -Cleaning -Elevator Music -Cleaning -Paint -Will Not Go Up -Install New -Will Not Come Down -Cannot Secure -Remove -Cleaning -Injury -Bio Material -Smoke -First Aid -Natural Disaster -Environmental Assessment -Water Damage -Hazardous Material -Asbestos -Public Demonstration -Fire -Mold -Bomb Threat -Terrorism Incident -Gas -Air Quality -Odors -Ergonomic Assessment -Repair -Paint -Replace -Towing -Security Barrier/Arm -Reserved Parking -"Doors, Windows and Glass" -Roofing and Structure -Exterior Facade -Interior Finishes & Carpentry -Emergency -HVAC -Exterior Landscaping -General Bldg R&M - Interior Light -General Bldg R&M -Roofing and Structure -Lighting -Interior Finishes & Carpentry -LOB Disaster Recovery -"Doors, Windows and Glass" -Lighting -Fire and Life Safety -Electrical and Power -Lighting -"Doors, Windows and Glass" -Escort Needed -Stationary Guard -Other -Data/Cable Pulls -UPS -Timers -Broken Door -Lock Issue -Glass -Install New -Buzzers -Automatic Closures -Mantrap -Video Conferencing -Booking/Scheduling -Schedule -Repair -Setup -Drill Out -Teller Cash Dispenser -Repair/Maintenance -Undercounter steel -Repair/Maintenance -Digilock -Repair/Maintenance -Drill Out -Security Issue -Damaged -Will Not Close -Keypad Issue -Batteries Dead -Unable To Lock/Unlock -Key Broken Off -Will Not Open -Armored Car Key Issue -Repair/Maintenance -Remove -Replace -Other -Not Working -Vault Clean -Night Deposit Clean -Bandit Barrier Clean -Painting -Security Mirrors -Graffiti Removal -Physical Damage -Decals -Locks & Keys Room Door -Locks & Keys Exterior Kiosk Door -Vestibule Lights -Vestibule Cleaning -Vestibule Repair/Maintenance -Cleaning -Vestibule HVAC -Repair -Vestibule Painting -Car Impact -Vestibule Graffiti Removal -Vestibule Security Lighting -Pest Control -Unit HVAC -Electrical -Placement -Keys -Lock Box -Car Impact -Repair -Landscaping -Vestibule Security Lighting -Pest Control -Cleaning -Vestibule Cleaning -Physical Damage -Request New Appliance or Kitchen Fixture -"Not Working, Broken or Damaged" -Clean Unit -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -Pharmacy -Pharmacy -Pharmacy -Pharmacy -Not Working -Repair -Timer Issue -Pre Hurricane Board-up -Post Hurricane Board-up -S5 - Partial Service -Sign completely out -Partially out -Face damage -Photocell / Time Clock -Escort -Tarping Needed -Water leaking -Lighting issue -Handle -Gasket -Door -Cooling issue -Water leaking -Door -Cooling issue -Repair -Faucet -Drain -Faucet -Drain -Faucet -Drain -Overheating -Not Heating -Not Filling -Not Heating -No Power -Control Panel -Turn Management Fee -Wall -Equipment -Counters / Tables -Front of House -Back of House -Walls -Overhang -Roof -Parking Lot Lighting -Landscape Lighting -Restroom -Kitchen -Dining Room -Stuck -Weather stripping -Laminate Peeling/Buckling -Laminate Peeling/Buckling -New Install -New Install -New Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -Other -Noisy -Not Working -Not Working -Other -Not Working -Internal Network/Wiring -Verifone Commander Site Controller Down -Fiscal Site Controller Down -Gilbarco Passport Site Controller Down -NCR Radiant Site Controller Down -Fiscal Cash Drawer Not Functioning -Gilbarco Passport Cash Drawer Not Functioning -Fiscal Not Processing On Some Dispensers Outside -Gilbarco Passport Not Processing On Some Dispensers Outside -NCR Radiant Not Processing On Some Dispensers Outside -Verifone Commander Not Processing On Some Dispensers Outside -Fiscal Not Processing On All Dispensers Outside -Gilbarco Passport Not Processing On All Dispensers Outside -NCR Radiant Not Processing On All Dispensers Outside -Verifone Commander Not Processing On All Dispensers Outside -Fiscal Not Processing On All Pin Pads Inside -Gilbarco Passport Not Processing On All Pin Pads Inside -NCR Radiant Not Processing On All Pin Pads Inside -Verifone Commander Not Processing On All Pin Pads Inside -Fiscal UPS Beeping / Not Functioning -Gilbarco Passport UPS Beeping / Not Functioning -Fiscal Register Scanner Not Scanning -Gilbarco Passport Register Scanner Not Scanning -Fiscal Register Not Functioning -Gilbarco Passport Register Not Functioning -Fiscal Receipt Printer Not Printing -Gilbarco Passport Receipt Printer Not Printing -Fiscal Pin Pad Stylus Not Functioning -Gilbarco Passport Pin Pad Stylus Not Functioning -Fiscal Not Processing on Some Pinpads Inside -Gilbarco Passport Not Processing on Some Pinpads Inside -Attic -Attic -Attic -Attic -Sign completely out -Other -Face damage -4+ letters out -1-3 letters out -Cracked/damaged -Loose from building -Cracked/damaged -Loose from building -Too Hot -Not Cooling -Water leaking -Other -Lighting issue -Handle -Door -Cooling issue -Water leaking -Other -Lighting issue -Handle -Door -Cooling issue -Leaking -Other -Too Hot -Won't stay lit -Too Hot -Too Hot -Other -Not Heating -No Power -Coffee Counter -Other -Dishwasher Fan -Fan -Oven -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Laminate -Hinges/Handle -Edgebanding -Door broken off -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Hinges/Handle -Drawer front -Glides -Edgebanding -Structure -Laminate -Edgebanding -Ballast -Framboard -Sewage -ALT LVT Bill to Construction -Repair -Replace -Repair -Replace -Installation -Decals/Promotional signage -Frame Issue -Shattered -Cracked -Leaking Water -Window Film -Frame Issue -Shattered -Cracked -Chair rail -Doctor's Office -Doctor's Office -Doctor's Office -Doctor's Office -Doctor's Office -Replace -Repair -Inspection -Rekey -Other -Key broken off -Handle/Door Knob -Scrub and Recoat Bill to Construction -Other -Air Quality Test -Roof Report -Won't Lock/Unlock -Rekey -Marketing -Facility -ID Price Signs -MPD/Dispenser -Exposed Wiring -Under Counter or Ceiling -RO/Reclaim Equipment -Ro/Reverse Equipment -Spraying -Equipment Room -Major Leak -Minor Leak -Water Conditioner -Filters -Not Operating -Verifone Inoperable -VCR Not Operating -Investigation -Work Needed for USE Visit -Oil-Water Separator WS 1 -Gas Water -Corrosion Removal- STP sumps -Gas Water - Solid/Liquid Waste Removal -Cathodic Protection Repair or Test -Corrosion Removal- Other -Liquid Reported in Dispenser Pans -Liquid Reported on Sump/Spill Bucket -Vapor Recovery Needs Repair -Containment Equipment -Fuel Polishing - Diesel Microbes -Gas Piping -Fuel Polishing -Distribution Box Not Operating Properly -Damaged/Torn Entry Fittings -Sub Pumps Not Pumping -Needs Repair/Replacement -Not Operating -HRM Reconciliation Warning -Missing Delivery Ticket Warning -AccuChart Calibration Warning -Annual Test Warning -Gross leak detected -High Water Warning -Cold Temperature Warning -CSLD Rate Increase Warning -HRM Reconciliation Alarm -Invalid Fuel Level Alarm -Overfill Alarm -Periodic Leak Test Fail Alarm -Periodic Test Alarm -High Product Alarm -High Water Alarm -Leak Alarm -Annual Test Alarm -Maximum Product Alarm -Annual Test Fail Alarm -Probe Out Alarm -Gross Test Fail Alarm -Sudden Loss Alarm -System Security Warning -ROM Revision Warning -PC(H8) Revision Warning -Tank Test Shutdown Warning -Autodial Alarm Clear Warning -Software Module Warning -Autodial Delivery Report Warning -System Clock Incorrect Warning -Input Setup Data Warning -Autodial Service Report Warning -External Input -Transaction Alarm -Battery Off -Protective Cover Alarm -Remote Display Communications Error -Input Normal -System Self Test Error -Too Many Tanks -EEPROM Configuration error -LD configuration error -System Device Poll Timeout -Other -Car Impact -Repair -Sign Completely Out -Partial Outage -Face Damage -Not Operating Properly -Completely Down -Splitter request for POS -Simmons Box Not Operating Properly -Simmons Box Onsite Support Needed -Short Alarm -Low Liquid Alarm -Fuel Alarm -Water Alarm -Sensor Out Alarm -High Liquid Alarm -Water Out Alarm -Setup Data Warning -Liquid Warning -Remove/Relocate within an Open Store -Remove/Relocate within an Open Store -Check Cable Integrity -ATM Project -Money Order Machine -Lift Not Functioning -UPS Beeping -Gift Card Processing -Receipt Printer -Stylus -Not Functioning -Money Order -Pin Pad -Scanner -Check Reader -Not Operating Properly -Completely Down -Upgrade/Install/Remove -Screen Calibration (non Store View) -Speed Pass Inoperable -Hardware (non Store View) -Ruby/Sapphire Not Operating -Passport - Unable to sell Gas -Pump Issue (non Store View) -Nucleus Not Operating -Power Outage (non Store View) -Ruby/Sapphire - Unable to sell Gas -Nucleus - Unable to sell Gas -Won't Print -Cash Report (CRI) not operable -Password Reset (non Store View) -Network Issue (non Store View) -Passport Not Operating -Missing Parts (non Store View) -Software (non Store View) -Service Needed -Stylus Needed -Remove/Relocate -Car Wash POS Adjustment Needed -Programming -Fuel POS Adjustment Needed -Replace -Remove -Face Damage -Partial Outage -Drainage -Verify Power Source -Under Counter Repair -Remote Repair -Replace -Sparking -Missing Cover -Diesel -Premium -Kerosene -Cross Drop -Regular -Midgrade -DSL Low Flash -Gas Octane -Handle/Door Knob/Chime -Lighting -Making Noise -Too Warm -Major Water Leak -Minor Water Leak -Monitor not operating properly -Batman Cables Not Working Properly -Not Operating Properly -Not Operating Properly -Damaged -Visual Issue -Blank -Display -Relocate -Continuous Pump On Warning -Setup Data Warning -Selftest Invalid Warning -High Pressure Warning -Periodic Line Test Fail Alarm -Periodic Test Alarm -Periodic Pump Test Fail Alarm -Periodic Test Fail Alarm -Periodic Pump Selftest Fail Alarm -Periodic Test Warning -Periodic Selftest Fail Alarm -LLD Periodic Warning -LLD Test Fault GRS -LLD Per Test Fault -LLD Periodic Alarm: .2gph -LLD Pressure Alarm - Sub pump (3 Attempts) -Gross Pump Test Fail Alarm -Gross Selftest Fail Alarm -Gross Line Test Fail Alarm -Gross Test Fail Alarm -Gross Pump Selftest Fail Alarm -Annual Pump Selftest Fail Alarm -Annual Selftest Fail Alarm -Annual Test Alarm -LLD Annual Alarm -LLD Annual Test Fault -Annual Line Test Fail Alarm -Annual Pump Test Fail Alarm -Annual Test Fail Alarm -Annual Test Warning -Shutdown Alarm -Self Test Alarm -Communications Alarm -Sensor Open Alarm -Continuous Pump On Alarm -Sensor Short Alarm -Line Leak Shutdown -Repair -Kiosk Display -Bump Bar -Repair -Display -Kiosk Printer -KPS Printer -Remove/Relocate -Major Water Leak -Minor Water Leak -Cannot Brew -Parts -Not Operating -Relocate -Warmer Plate -Less than Half of Brewers Down -Minor Water Leak -Major Water Leak -Install New -Half or More Brewers Down -Parts -Timer -Urns -Battery Replacement -HES Work Needed -Smart Sensor Water Warning -Collection Monitoring Degradation Failure warning -Smart Sensor Low Liquid Warning -Flow Performance Hose Blockage Failure warning -Smart Sensor High Liquid Warning -Containment Monitoring Gross Failure warning -Smart Sensor Setup Data Warning -Smart Sensor Fuel Warning -Vapor Processor Status Test warning -Containment Monitoring Degradation Failure warning -Vapor Processor Over Pressure Failure warning -Containment Monitoring CVLD Failure warning -Setup Fail warning -Sensor Temperature Warning -Stage 1 Transfer Monitoring Failure warning -Collection Monitoring Gross Failure warning -Smart Sensor Fuel Alarm -Containment Monitoring Degradation Failure alarm -Smart Sensor Low Liquid Alarm -Containment Monitoring CVLD Failure alarm -Vapor Flow Meter Setup alarm -Missing Hose Setup alarm -Smart Sensor High Liquid Alarm -Improper Setup alarm -Missing Vapor Pressure Sensor alarm -Smart Sensor Communication Alarm -Containment Monitoring Gross Failure alarm -Vapor Processor Over Pressure Failure alarm -Missing Vapor Flow Meter alarm -Smart Sensor Fault Alarm -Collection Monitoring Gross Failure alarm -Smart Sensor Install Alarm -Communication Loss alarm -Flow Performance Hose Blockage Failure alarm -Missing Vapor Pressure Input alarm -Sensor Out alarm -Vapor Processor Status Test alarm -Missing Tank Setup alarm -Collection Monitoring Degradation Failure alarm -Smart Sensor Water Alarm -Missing Relay Setup alarm -Setup Fail alarm -Verify Proper Installation and Report Findings -Not Printing -ATG IP Comm Failure -Automatic Tank Gauge (Atg) Is In Alarm -Auto Dial Failure -Automatic Tank Gauge is not Testing -Not Printing -Automatic Tank Gauge (Atg) Is In Alarm -Auto Dial Failure -ATG IP Comm Failure -Automatic Tank Gauge is not Testing -Vendor Meet Needed -Team Lead Escalation Needed -Installation -Trip Hazard -Repair -Environmental Remediation -Drum Removal -Fuel Spill -Major Damage/Safety Issue/Needs Repair -Minor Damage/ Non Safety issue/Needs Repair -Repair or Replace Gas Pump Toppers -Repair or Replace Windshield Washer Bucket -Not Dispensing On At Least 50% Of Dispensers -Not Dispensing On Less Than 50% Of Dispensers -Relocate -Vendor Meet -Brixing -Drip Tray -Flavor Change -Making Noise -Half or More Barrels Down -Minor Leak -Less than Half of Barrels Down -CO2 Not Operating -Drain Clogged -Frost Flavor Change -CO2 Out -Major Leak -Lights Out -Bib Pumps -Not Dispensing Ice -Minor Leak -Major Leak -Relocate -Vendor Meet -Lights Out -Drain Clogged -CO2 Out -Less than Half of Flavors -CO2 Not Operating -Minor Leak -Brixing -New Drain -Bib Pumps -More than Half of Flavors -Making Noise -Parts -Drip Tray -Flavor Change -New Soda Drain -Ice Maker -Major Leak -Other -Recharge/Repair/Replace -Unit Down -Major Water Leak -Minor Water Leak -Not Operating -Verify Installation -Precision Tank Fail -Parts Replacement Billing -Dynamic Backpressure Fail -ATG Certification Fail -Stage I Fail -Shear Valve Inoperable -Pressure Decay Fail -Testing -Line Leak Detector Fail -Corrosion Inspection Fail -BIR Investigation -Department of Agriculture Inspection Assistance -Spill Bucket Fail -Air to Liquid Fail -Secondary Containment Fail -Precision Line Fail -Compliance Inspection -Drop-Tube Integrity Fail -Dep. of Environmental Protection Inspection Assistance -Stage 2 Fail -Shear Valve Fail -UST Fail -Not Responding - Within Temps -Defrost Recovery - Within Temps -Power Fail Temp -High Box Temp Alarm - Within Max -Not Responding - Above Max Temps -Low Box Temp Alarm - Below Standards -Pressure Low Temp - Above Max STD -Communication Failure -Pressure Low Temp - Within STD -Start Up Fail -Low Box Alarm - Below Max Temps -Defrost Recovery - Above Max Temps -High Box Temp Alarm - Above Max -Low Bow Temp Alarm - Within Standards -Pressure High Temp - Above Max -Pressure High Temp - Within STD -Repair -Charge Dispute -Dispute Determination Rejection -Copy of Invoice Required -Client Inquiry - General -Charge Explanation Required -Work Needed Per Disc/Market Charge -Need Repair -Not Processing On All Terminals Inside -Not Processing On Some Terminals Inside -Not Processing Inside Or Outside -Not Processing On Some Dispensers Inside -Not Processing On Some Dispensers Outside -Not Operating -Install New -Major Water Leak -Making Noise -Gasket -Door -Minor Water Leak -Too Warm -Install -Repair -Warranty Repairs -Repair -Install Monitor -Repair -Out of Chemicals -Relocate -Install New -Not Operating -Lights Out -Major Water Leak -Parts -Minor Water Leak -Face Damage -Partial Outage -Sign Completely Out -Won't Accept Credit - Debit Card -Not Turning -Burning Smell -Repair -BIR Close Shift Warning -BIR Threshold Alarm -BIR Daily Close Pending -BIR Setup Data Warning -BIR Close Daily Warning -BIR Shift Close Pending -Other -Cleaning -Door -Lighting -Mouse Not Functioning -Timeclock Application -Docking Station -Phone Line -UPS Beeping -iPad Not Functioing -Belt Printer -Scanner Data -Monitor Not Functioning -Data Polling -Printer Charge -Scanner Malfunction -Timclock Entries -Printer Not Printing -App Issues -Printer Not Communicating -PDI Malfunction -Zenput -iPad Missing -Scanner Charge -Keybord -AQIP/CMR Warranty Repairs -PDI Enterprise -Sales Report -Grocery Order -Operations Dashboard -Timeclock -Store Audit -Receipt Finder -Cashier Analysis -PDI Focal Point -Drawer Count -Access Issue -Portal Issue -Not Operating -Graffiti -Secondary Containment -Calibration -Damaged LED Window -Testing -Decals/Signage -Hanging Hardware -Vapor Recovery Dry Break Repair -Records -Spill Buckets -Hazardous Materials -Leaking Dispenser Meter/Union/Filter -Dispenser(s) Down- Regulatory Inspection -Automatic Tank Gauge -Licenses and Permits -Verify Installation -Temp Cooling/Heating -Not Responding - Above Max Temps -Copressor Short Cycling - Within Temps -No Communication - Within Temps -Compressor Stage 1 - Within Temps -Blower Fan - Above Max Temps -Pressure High Temp - Within Standards -Compressor Stage 2 - Within Standards -Blower Fan - Within Tems -Heating Performance Temp - Below Max -Heating - Within Temps -Compressor Locked - Above Max Temps -Heating Performance Temp - Within Standards -Heating Stage 1 - Within Temps -Compressor Not Coming On - Above Max Temps -Not Responding - Within Temps -No Communication - Temps Unknown -Compressor Short Cycling- Above Max Temps -Pressure High Temp - Above Max -Compressor Stage 1 - Above Max Temps -Super Heat - Below Max STD/Above Max STD -Pressure Low Temp - Within Standards -Compressor Stage 2 - Above Temps -Blower Fan - Intermittenly Within Temp -Pressure Low Temp - Above Max -Heating - Below Max Temps -1 or More Stages of Heat Not Coming On -Blower Fan - Intermittenly Above Temp -Long Compressor Runtime - Above Max Temps -No Communication - Above Max Temps -Compressor Not Coming On - Within Temps -Upgrade -Partial Outage -Additional Service WS 3 -Additional Service WS 4 -Additional Service WS 1 -Additional Service WS 2 -Vendor Meet -Repair -Drain Repair/Cleaning -Drain Overflow/Flooding -Drain Pump Out -Vendor Meet -ADA Compliance -Additional Charges- Note Details in Description -Repair -Deli - Minor Water Leak -Deli - Making Noise -Deli - Unit Down -Deli - Door -Deli - Major Water Leak -Minor Water Leak -Making Noise -Remove/Relocate -Duke Oven Down -Duke Oven Not Operating -Sandwich Oven Not Operating -Sandwich Oven Down -Unox Parts -Unox Not Operating -Unox Completely Down -Doyon Not Operating -Doyon Completely Down -Doyon Parts -Less than Half Lighting -Making Noise -Partial Lighting Interior -Half or More Lighting -Minor Water Leak -Gasket -Taqueria Emergency Repair -Taqueria Critical Repair -Minor Leak -Major Leak -Trip Hazard -Major Water Leak -Low Pressure -Minor Water Leak -Major Leaking -Low Pressure -Minor Water Leak -Major Water Leak -Damaged -Face Damage -Sign Completely Out -Partial Outage -Emergency Repair Subway -Emergency Repair Taqueria -Critical Repair Taqueria -Critical Repair Subway -Vendor Meet -Taqueria Partial Outage -Subway Partial Outage -Taqueria Complete Outage -Subway Complete Outage -Escalation -EMS Upgrade -Sales Floor - Burning Smell -Sales Floor - Damaged -Sales Floor - All -Sales Floor - Partial -Office - Burning Smell -Office - Partial -Office - All -Office - Damaged -All - Outage -All - Burning Smell -Exit Sign - Damaged -Exit Sign - Out -Emergency Exit Lights -Bathroom - Damaged -Bathroom - All -Bathroom - Burning Smell -Bathroom - Partial -Backroom - Burning Smell -Backroom - Partial -Backroom - All -Backroom - Damaged -ATM - Face Damage -ATM - Partial -ATM - All -Repair -Pump Out WS 7 -Exterior Pump Out -Interior Pump Out WS 1 -Exterior Pump Out WS 4 -Interior Pump Out WS 5 -Interior Pump Out -Pump Out WS 5 -Pump Out WS 3 -Exterior Pump Out WS 5 -Interior Pump Out WS 3 -Exterior Pump Out WS 2 -Interior Pump Out WS 2 -Pump Out WS 2 -Pump Out WS 13 -Exterior Pump Out WS 3 -Routine Maintenace -Exterior Pump Out WS 1 -Repair -Making Noise -Trip Hazard -Remove/Relocate -Minor Water Leak -Major Water Leak -Door -Gasket -Cleaning -Clean Return and Discharge -Remove/Relocate Cigarette Merch -ZEP Unit -Trash Can -Shelving -Other -More than 5 Dryers -Less than Half Washers -Less than Half Dryers -Less than 5 Washers -More than 5 Washers -Less than 5 Dryers -Lottery Glass -Counters -Adjust -Cigarette Merch Operation -Cigarette Merch Repair -Cabinetry -Deli Warmer -Sanden Install -Sanden Lights -Sanden Not Operating -Sanden Parts -Pizza Warmer -Remove/Relocate Sanden -Minor Water Leak -Major Water Leak -Making Noise -Lighting -Relocate/Remove -Septic Tank WS1 -Septic Tank WS2 -Wastewater Treatment WS1 -Septic Tank WS6 -Cleanout -Septic Tank WS 12 -Septic Tank WS 8 -Septic Tank WS3 -Septic Tank WS5 -Aerobic System WS 1 -Wastewater Treatment Plant Materials WS 1 -Septic Tank WS 10 -Septic Tank WS 11 -Odor -Repair -Preventative Maintenance -Deli - Cleaning -Deli - Inspection -Remove/Relocate -Lighting -Major Water Leak -Minor Water Leak -Making Noise -Lighting -Making Noise -Major Water Leak -Minor Water Leak -Maintenance -Partial Outage -Well Water Materials -Monitoring -Making Noise -Minor Water Leak -Deli - Door -Deli - Major Water Leak -Deli - Minor Water Leak -Deli - Not Holding Temp -Install -Repair -Paint -Treatment Needed -Vendor Meet -Verify Installation -Taqueria - Emergency Repair -Subway - Emergency Repair -Taqueria - Critical Repair -Subway - Critical Repair -Escalation -Won't Vend Change -Connectivity -Vendor Meet -Repair -Remove/Relocate -Network Issue -Not Communicating -Parts -Repair -Remove/Relocate -Repair -Deli - Not Holding Temp -Deli - Door -Deli - Major Water Leak -Deli - Minor Water Leak -Escalation -Taqueria Emergency Repair -Subway Emergency Repair -Taqueria Critical Repair -Subway Critical Repair -Taqueria Heated Equipment Emergency -Subway Heated Equipment Emergency -Taqueria Heated Equipment Critical -Subway Heated Equipment Critical -Vendor Meet -Donut Filler -Remove -Add -Display Cooker Down -Display Cooker Not Operating -Deli Grill Down -Deli Grill/Griddle/Flat Top -Scale -Rice Cooker -Oatmeal Maker -Grill Press -Egg Cooker -Double Boiler -Bread Slicer -Temp Taker -Data Issue -Not Printing -Remove/Relocate -Major Water Leak -Door -Lights -Minor Water Leak -Partial Outage -Damaged -Will Not Turn Off -Timer Issue -Electric Vehicle Charge Issue -Liquid Propane Gas Issue -CNG Dispenser/Plant Issue -FCTI -Wiring -Cardtronics -Repair -Cosmetic Repair -Outlet -Power Source Needed -Instability -Project -Non Electrical Safety Issue -No Power/Safety Issue -Floor/Wall Repair -Trucker Loyalty -Grocery Loyalty -Freestyle Unit -Tea Tower -Not Operating -All Not Working -All Operational -One TV -TV Repair -Nozzle Needs Repair -Entire Grade Down -Repair Emergency Shut Off Switch -More than half of fueling positions down -Need Dispenser Key and/or Change Lock -Dispenser Won't Print Credit/Debit Receipt -Nozzle Needs Handwarmer -Repair Dispenser - No Shutdown -Drive Off - Hose Disconnected -Physical damage only still pumping -Slow Pumping (Filters) -Intercom Not Operating Properly -Won't Accept Credit - Debit Card -Need Decals -Dispenser Damaged by Vehicle -All Dispensers Down -Swivel Needs Repair -Dispenser Broken Into (Possible Theft) -Hose Needs Repair -Less than half of fueling positions down -Calibrate Dispenser -Graffiti -"Not Working, Broken, or Damaged" -Credit Card Acceptor -Change Machine -Bill Jam -WS 1 -Pump Out WS1 -Not Operating -Pump Out WS2 -Reporting Enable/Disabled -Softener WS 1 -Wall Jack -Wisco Install -Wisco Lighting -Wisco Parts -Roller Grill Install -All Roller Grills -Roller Grill Parts -Pastry Case Lights -Chili Cheese Parts -Chili Cheese Install -Verify Beverage Equipment Installation -Verify Food Equipment Installation -Wisco - Relocate/Remove -Remove/Relocate Pastry Case -Remove/Relocate Chili Cheese -Install Siding -Will Not Open -Will Not Close -Batteries Dead -Rekey -Palm Tree Trimming -Running Continuously -Not Running -Service Needed -Schedule -Rug Rack -Emergency Lighting Deficiency -Exit Sign Deficiency -Other -Other -Other -Other -Lines Other -Lines Leaking -Ceramic Tile and Grout Cleaning -Awning Cleaning -Repair -Replace Batteries -Wont Lock/Unlock -Rekey -Will Not Open -Latch/Closer/Hinge issue -Broken Door -Door Frame Issue -Replace -Repair -Replace -Repair -Replace -Repair -New Equipment Install -Security Issue -Unable To Lock/Unlock -Keypad Issue -Armored Car Key Issue -Site Transfer -Upright Refrigerator -Upright Freezer -Back Room Freezer -Coffee Brewer -Cappucino Machine -Fountain Dispenser -Walk In Freezer -Vault Refrigeration -Ice Merchandiser -Ice Maker -Work Table -Tortilla Press -Table Top Fryer -Steamer -Oven/Proofer -Hot Plate -Henny Penny -Grill/Griddle/Flat Top/Oven/Hot Plate Combo -Grill/Griddle/Flat Top/Oven Combo -Grill/Griddle/Flat Top -Gas/Electric Fryer -Egg Cracker -Dough Mixer -Dough Divider -Wisco -Vertical Hatco -Sandwich Case -Roller Grill -Pastry Case -Novelty Case -Microwave -Hatco -Condiment Station -Chili Cheese Unit -FCB 4 Barrel -FCB 2 Barrel -Parking Structure -Facade -Parking Structure -Facade -Parking Structure -Facade -Preventative Maintenance -No Power -Not Working -Inspection -Replace -Repair -Inspection -Preventive Maintenance -Replace -Repair -Sweeping -Stripping -Striping -Snow Request -Severe cracks -Sealing -Potholes -Patching -Other -Missing Grates -Handrail/Railing Repair -Garbage Clean Up -Drainage problem -Curb/Car/Wheel stop -Condensing Unit -Preventative Maintenance -Replace -Repair -Condensing Unit -Preventative Maintenance -Replace -Repair -Replace -Storage/Back of House -Storage/Back of House -Storage/Back of House -Storage/Back of House -Storage/Back of House -Storage/Back of House -Not Working -Leaking -Not Heating/Won't Turn On -Knob Issue -Replace Cord -Not Heating/Maintaining Temperature -Missing Knob -Leaking -Maintenance Needed -Damaged -Repair -New Equipment Install -Wheels/Maintenance -Override Switch -Schedule Change -Parts Ordering -Communication Loss -Schedule Preventative Maintenance -Perform Preventative Maintenance -Schedule Preventative Maintenance -Perform Preventative Maintenance -Schedule Preventative Maintenance -Perform Preventative Maintenance -Schedule Preventative Maintenance -Perform Preventative Maintenance -Pest Repairs - Reinvestment -Pest Repairs - Reinvestment -Schedule Preventative Maintenance -Perform Preventative Maintenance -Other -Deficiency -Will Not Open -Will Not Close -Replace -Repair -Remove -Install New -Will Not Open -Will Not Go Up -Will Not Come Down -Remove -Not Sealing -Install new -Cannot secure -Tipping Building -Scale House -Mechanical Room -Maintenace Building/Shop -Locker Room -Tipping Building -Scale House -Mechanical Room -Maintenace Building/Shop -Locker Room -Tipping Building -Scale House -Mechanical Room -Maintenace Building/Shop -Locker Room -Tipping Building -Scale House -Mechanical Room -Maintenace Building/Shop -Locker Room -Tipping Building -Scale House -Mechanical Room -Maintenace Building/Shop -Locker Room -PM -POS Gilbarco -POS Verifone -Pinpad Ingenico -Pinpad Verifone -POS NCR -Fuel Controller -Not Working -New Install -Laboratory -Laboratory -Striping -Rebuild -Breakdown -Replace -Repair Damaged -Warehouse -Laboratory -Not Working/Broken/Damaged -Parts -Restroom fan -Laboratory -Laboratory -Laboratory -Laboratory -Laboratory -Laboratory -Laboratory -First ProCare Visit -Not Working -Snow Request -WPH Managed -Other -Semi-Annual -Annual -"Not Working, Broken or Damaged" -Missing/Detached -Interior Leaking -Flaking -Cracked/Uneven -Broken or Damaged -Not Heating/Working Properly -Leaking -Finish/Surface -Broken or Damaged -Backing Up -Preventive Maintenance -Tub/Tub Surround/Shower Leaking -Shower Valve/Head -Pipes Broken or Leaking -Flooding/Sewer Backup -Faucet Broken or Leaking -Leaking -Finish/Surface -Broken or Damaged -Repair -"Walls - Cracked, Broken or Damaged" -Floor lifted or cracked -Driveway/Patio/Sidewalk -Weed removal -Water Extraction/Dryout -Sub Floor -Roof Truss -Framing -Foundation -Exterior Deck -Damaged -Detached/Missing -Floor Stains or Spots -Wall Stains or Spots -Ceiling Stains or Spots -Drain Pop Up -Other Shelf -Towel Rack -Mirror -Toilet Paper Holder -Burning Smell -Sounding Alert -Failed Test -Detached/Missing -Smoking or Sparking -Loose or Damaged -Fan Not Working -Fan Balancing -Light Not Working -Fan Not Working -Screens -Frame Issue or Leak -Damaged -Door Adjustment or Weather Stripping -Not Working -Leaking -Physical Damage -Physical Damage -Physical Damage -Physical Damage -Physical Damage -Physical Damage -Making Noise -Physical Damage -Physical Damage -Airflow Issue -Programming Help Needed -Physical Damage -Snow Request -Earthquake -Fire -Snow -Flood -Tornado -Hurricane -PM -Water Diversion -PM -5 Year Inspection -PM -5 Year Inspection -Repair -Inspection -Missing -Cleaning -Damaged -Fuel Inspection -Software Issue -Repair -Chime -Control -General -Emergency -Wireless Device -Camera -UPS/APC -Security Monitor -Speaker and Microphone -Security Phone -System Down -DVR - General -DVR - Critical -Misc. Parts -Gasoline Parts -Countertop Parts -Display Parts -Security and Safe Parts -Restaurant Equipment -Food Equipment -Cold Beverage -Hot Beverage -Schedule Preventative Maintenance -Perform Preventative Maintenance -GLO Service -Perform Preventative Maintenance -Perform Preventative Maintenance -Perform Preventative Maintenance -Perform Preventative Maintenance -Perform Preventative Maintenance -Perform Preventative Maintenance -Perform Preventative Maintenance -Perform Preventative Maintenance -Inspection -Schedule Preventative Maintenance -Inspection -Service -Service -Schedule Preventative Maintenance -Schedule Service -Repair -Schedule Preventative Maintenance -Service -Not Working -Schedule Preventative Maintenance -Inspection -Repair -Inspection -Schedule Preventative Maintenance -Production Area -Schedule Preventative Maintenance -Service -Schedule Service -Service -Not Working -Schedule Preventative Maintenance -Service -Schedule Preventative Maintenance -Repair -Not Working -Open Top Empty and Return -Open Top Pickup -Other -Damaged -Lock -Lock -Open Top Request -Open Top Empty and Return -Open Top Pickup -Damaged -Other -Not Working -Re-Certified -Icing Up -Other -Cooling issue -Door -Other -Gasket -Icing Up -Glass -Water leaking -Handle -Cooling issue -Lighting issue -Cooling issue -Door -Other -Cooling Issue -Door -Other -Other -Door -Water Leaking -Glass -Handle -Lighting Issue -Cooling Issue -Water Leaking -Handle -Lighting Issue -Cooling Issue -Other -Door -Other -Shut Down -No Power -Not Cooling -Gasket Repair/Replacement -Hinges/Latch Broken -Repair -Icing Up -Not Maintaining Temp -Fan Not Working -Refrigerated Truck -Water Leaking -Refrigerated Truck -Water Leaking -Icing Up -Other -Rekey -Wont Lock/Unlock -Handle/Door Knob -Key Broken Off -Rekey -Other -Dimming System -Broken Light Fixture -Track Lighting -Not Heating -Controls Not Working -Cleaning -Other -Gasket -Door/Handle Issue -No Power -Leaking -Leaking -Other -Shut Down -No Power -Not Heating -Install -Not Heating -Other -Shut Down -Other -Shut Down -Heat Strip Not Working -Other -No Power -Not Heating -Controls Not Working -Water in Pan -Door/Handle Issue -No Power -Not Heating/Lighting -Other -Leaking -Other -Replace -Not Heating -Not Working -Bottom Plate -Splatter Guard -Sparking -Oil Shuttle -Booster Heater -Damaged -Replace -Sound/Music/PA Equipment -CCTV Camera System -Phone/Telecommunications -Television -Antimicrobial Treatment -Poor Taste -Other -Damaged -Poor Temperature -Water in Lines -Tower/Tap Repair -Mechanical Room -Vestibule Heater -Critical Response -Paint -Weather Stripping -Latch Closer Issue -Handle/DoorKnob/Chime -Dragging -Door Frame Issue -Will Not Close -Will Not Open -Door Slams -Broken Door -Paint -Weather Stripping -Latch Closer Issue -Handle/DoorKnob/Chime -Dragging -Door Frame Issue -Will Not Close -Will Not Open -Door Slams -Broken Door -Paint -Weather Stripping -Latch Closer Issue -Handle/DoorKnob/Chime -Dragging -Door Frame Issue -Will Not Close -Will Not Open -Door Slams -Broken Door -Paint -Weather Stripping -Latch Closer Issue -Handle/DoorKnob/Chime -Dragging -Door Frame Issue -Will Not Close -Will Not Open -Door Slams -Broken Door -Paint -Weather Stripping -Latch Closer Issue -Handle/DoorKnob/Chime -Dragging -Door Frame Issue -Will Not Close -Will Not Open -Door Slams -Broken Door -Paint -Weather Stripping -Latch Closer Issue -Handle/DoorKnob/Chime -Dragging -Door Frame Issue -Will Not Close -Will Not Open -Door Slams -Broken Door -Railing -WPH Managed -Immediate Response -Non-Urgent Response -Other -Slab Issue - Immediate Response -Slab Issue - Non-Urgent Response -Other -LED Lighting -Lighting -Hi Rise All Out -Hi Rise Partial Out -LED All Out -LED General Issue -LED Partial Out -General Issue -Posting Issue -Cooling Issue -Door -Glass -Handle -Lighting Issue -Water Leaking -Repair -Not Holding Temp -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -WIC Upgrades -Testing Repairs -Containment -Disptestrepair -Ldrepair -Linerepair -Tankrepair -Techmeet -Vrsystem -ATGtestrepair -Sump Inspection -Sales Tour -Retest -Hood Insp -Quality Assurance -Pre-Inspection -Power Washing -Notice Of Violation -New Equipment -Warehouse -Leak Detection -Inventory Variance -End Of Month -Seven Day -Ten Day -Deficiency -Hanging Hardware Replacement -Disp Cal -Disp Filt -Closed -Closed Facility Upkeep -Divestment -Dispenser Calibration -Diamond Sign Relamp -Construction Walk-Thru -Ceiling Inspection -Canopy Sealing -Bathroom Upgrades -FCB -All Data Missing -Partial Data Missing -Clogged -Leaking -Loose -No Hot Water -Overflow -Running -Leaking -"Not Working, Broken, or Damaged" -Other -Other -Other -Other -Spray Nozzle Leaking -Spray Nozzle Not Working -Spray Nozzle Leaking -Spray Nozzle Not Working -Stand Alone -Rapid Eye Cameras -Phone Lines -Payspot -Passbox -Gas TV -Kitchen System Kitchen Side - Kprinter -Programming - Reporting -Programming - User Assistance -Single Register - Sreg Down -Single Register - Sreg Gen -All Registers -Branded Food Programs -End Of Day -Kitchen System -Programming -Single Register -Technician Dispatch -All Registers - Reg Down -All Registers - Reg Gen -All Registers - Stuck Sale -Kitchen System Kiosk Equipment - Kiosk Gen Issue -Kitchen System Kiosk Equipment - Pricing Issue -Kitchen System Kitchen Side - Kbumpbar -Kitchen System Kitchen Side - Kcontroller -Kitchen System Kitchen Side - Kmonitor -Electronic Safes -Digital Media -CP Outside -CP All -CP Inside -Loyalty Processing -Application PDI Ent - RMS Security -Hardware - Grocery Handheld -Hardware - Mgr Tablet -Hardware - PC -Hardware - PC Down -Hardware - Wallclock -Application -Pricebook - Audit Prep -Hardware -Pricebook - Grand Opening -Network Access -Pricebook - Pricebook Gen -Pricebook -Application - Automated Fuel -Application - Cashier Analysis -Application - CBT -Application - Drawer Count -Application - Email -Application - Grocery -Application - Lottery -Application - Maximo -Application - Money Order Down -Application - New Hire -Application - PDI Ent -Application - Portal -Application - Sapphire -Application - Signs -Application - SSCS -Application - Timeclock -Application Automated Fuel - AFP Crit -Application Automated Fuel - AFP Emer -Application Grocery - Inventory -Application Grocery - Order -Application Grocery - Store Assistant Ordering -Application PDI Ent - RMS DSR -Application PDI Ent - RMS Reporting -ATM -Critical Response -Immediate Response -Routine Response -Non-Urgent Response -All Lamps Out -Multiple Lamps Out -1 Lamp Out -Control Panel Not Working -Door/Handle Issue -No Power -Not Heating -Shut Down -No Power -Paddle Won't Spin -Shut Down -Not Working/Broken/Damaged -Not Working/Broken/Damaged -Major Repair -Not Working/Broken/Damaged -Minor Repair -Not Working/Broken/Damaged -Not Working/Broken/Damaged -Emergency Repair -Major Repair -Minor Repair -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -Preventative Maintenance -Installation -Other -Deficiency -Batteries Dead -Other -Dumbwaiter -Non-Urgent Response -Routine Response -Damaged - Non-Urgent Response -Damaged - Immediate Response -Critt&S -Emert&S -Impressed Current -Nonemert&S -Sumps -Tank Cleaning -Tank Monitor -Tank Monitor Alm -Vapor -Impressed Current - AC Light Off -Impressed Current - Current Out -Impressed Current - Transformer Off -Impressed Current - Voltage Out -Slectdispenser - Dispsecurity -Slectdispenser - Hanginghardware -Slectdispenser - Hitdispenser -Slectdispenser - Hitdispfollowup -Slectdispenser - Selectcrind -Slectdispenser - Selectflowissue -Slectdispenser - Selectfuelsales -Slectdispenser - SelectPM -Slectdispenser - Selectproduct -Slectdispenser Dispenserleaks - Leakstopped -Slectdispenser Dispenserleaks - Stillleaking -Slectdispenser Selectcrind - CardacCPtsd -Slectdispenser Selectcrind - Cardreaderprinter -Slectdispenser Selectcrind - Generalcardrdrsd -Alldispenser - Allcrind -Alldispenser - Allflowissues -Alldispenser - Allfuelsales -Alldispenser - AllPM -Alldispenser - Allproductdown -Alldispenser - Intercom -Alldispenser - Media -Alldispenser - Allcrind Cardacceptad -Alldispenser - Allcrind Generalcardreaderad -Slectdispenser - Dispenserleaks -Slectdispenser - Display -ATG Liquid Sensors - Low Liquid Alarm -ATG Liquid Sensors - Open Alarm -ATG Crit -ATG Liquid Sensors - Short Alarm -ATG Liquid Sensors -ATG PLLD - Cont Handle On Alarm -ATG Low -ATG PLLD - Gross Test Fail Alarm -ATG Nor -ATG PLLD - Line Equipment Alarm -ATG PLLD -ATG PLLD - Low Pressure Alarm -ATG Smart Sensors -ATG PLLD - PLLD Annual Test Fail Alarm -ATG System -ATG PLLD - PLLD Annual Test Needed Alarm -ATG Tank Probes -ATG PLLD - PLLD Periodic Test Fail Alarm -Intellifuel -ATG PLLD - PLLD Periodic Test Needed Alarm -ATG Liquid Sensors - Liquid Warning -ATG PLLD - PLLD Shutdown Alarm -ATG Liquid Sensors - Setup Data Warning -ATG PLLD - Sensor Open Alarm -ATG PLLD - PLLD Annual Test Needed Warning -ATG PLLD - WPLLD Comm Alarm -ATG PLLD - PLLD Periodic Test Needed Warning -ATG PLLD - WPLLD Shutdown Alarm -ATG PLLD - PLLD Setup Data Warning -ATG Smart Sensors - SS Comm Alarm -ATG Smart Sensors - SS Fuel Warning -ATG Smart Sensors - SS Fault Alarm -ATG Smart Sensors - SS High Liquid Warning -ATG Smart Sensors - SS Fuel Alarm -ATG Smart Sensors - SS Low Liquid Warning -ATG Smart Sensors - SS Setup Data Warning -ATG Smart Sensors - SS High Liquid Alarm -ATG Smart Sensors - SS Temp Warning -ATG Smart Sensors - SS Install Alarm -ATG Smart Sensors - SS Water Warning -ATG Smart Sensors - SS Low Liquid Alarm -ATG System - Auto Callback Failure -ATG Smart Sensors - SS Short Alarm -ATG System - Battery Off -ATG Smart Sensors - SS Water Alarm -ATG System - Configuration Error -ATG System - Self Test Alarm -ATG System - FLS Poll Failure -ATG Tank Probes - Gross Leak Test Fail Alarm -ATG System - PC Revision Warning -ATG Tank Probes - High Limit Alarm -ATG System - ROM Revision Warning -ATG Tank Probes - High Water Alarm -ATG System - Software Module Warning -ATG Tank Probes - Max Level Alarm -ATG System - Too Many Tanks -ATG Tank Probes - Periodic Leak Test Fail Alarm -ATG Tank Probes - CSLD Increase Rate -ATG Tank Probes - Periodic Test Needed Alarm -ATG Liquid Sensors - Fuel Alarm -ATG Tank Probes - Probe Out Alarm -ATG Liquid Sensors - High Liquid Alarm -ATG Tank Probes - Sudden Loss Alarm -CNG Plant - CNG PM -CNG Plant - CNG Emergency -CNG Plant - CNG General -EVC -LPG -CNG - CNG Dispenser -CNG - CNG Plant -Major Repair -Minor Repair -Parts -Major Repair -Minor Repair -Not Working/Broken/Damaged -Damaged -Routine Response -Discharge -Damaged -Major Repair -Minor Repair -Restroom Fan -Breaker/Panels -Non-Safety -Safety -Compressor -Will Not Open -Major Electrical -Minor Electrical -Lift -Other -Repair -Not Working/Broken/Damaged -Not Working/Broken/Damaged -Broken Or Damaged -New Equipment Install -New Equipment Install -Normal -Minor -Sales floor -All -Missing -Damage -Damage -Other -Damage -Other -Damage -Replace -Other -Pick up and Return -Pick up and No Return -Delivery -Temporary Labor -Other -Height Clearance -Other -Damaged -Leaking -Broken -Overflow -Other -Odor -Chemical/Soap Proportioner -Chemical/Soap Proportioner -Vandalism -Pipe Insulation -Weather Stripping -Weather Stripping -Printer -Phone -Other -Delivery Truck Impact -Car Impact -Other -Section 8 -Occupancy Check -Move-Out -Move-In -Inspection -HOA/City Inspection -BTR Inspection -Graffiti -Graffiti -Other -Corner Guard -Column Wrap -Damage -Shelves -Children's High Chair -Repair Damaged -Missing -Inspection -Damage -Umbrella -Cover -Menu Board Canopy -Speaker Post -Ground Loop -Server Room -Light Switch -Rekey -Other -Electronic Strike/Token Lock -Noisy -PM/Major -Mezzanine -Breakroom -Basement -Mezzanine -Breakroom -Basement -Back of House -Mezzanine -Breakroom -Basement -Back of House -Mezzanine -Breakroom -Basement -Back of House -Mezzanine -Breakroom -Basement -Back of House -Mezzanine -Breakroom -Basement -Back of House -Turn Assignment -Natural Disaster Inspection -Compactor Full -Running -Overflow -Other -No Hot Water -Loose -Leaking -Clogged -Needs Repair -Funds -Empty -No Uniforms -New employee -Delivery Shortage -Return -No Delivery -Out of Product -No Rags -Watering -Missing Plants -Dead Plants -Carpet Cleaning -Repair or Damage -Water -Troubleshooting -Automatic Vacuum -Squirrels -Raccoons -Dirty -Damaged Grates -Rust -Re-Caulk -Dust and Debris on Cabin -Dirty Interior Walls -Dirty Exterior Walls -Car Impact -Not Running -Noise -Belt Issue -Seals -Lights Out or Flickering -Broken Lens -Ballast Out -Supply Side - Dirty -Pre-Filters - Dirty -Exhaust - Dirty -Broken Filter Rack -Not Operating -Noisy -Dirty - Overspray Buildup -Balance -Leaking -Dirty -Broken -Won't Open -Won't Close -Replace Seals -Replace Latches/Handles -Not Latching -Glass Broken or Shattered -Drags -Car Impact -Timers Bad -Switches Faulty -Spray Air -Relay Bad -Not Starting -Not Shutting Off -Not Baking -Contactors Bad -Not Reaching Temp -No Heat -Lighting -Noisy -Noisy -Under Pressurized -Over Pressurized -Not evacuating -Balance Issues -Board Up -Will Not Open -Will Not Close -Batteries Dead -Other -Sealing -"Not Working, Broken or Damaged" -Leaking -Other -"Not Working, Broken or Damaged" -Other -"Not Working, Broken or Damaged" -Inspection Center -All -Restroom -Inspection Center -Inspection Center -Inspection Center -Inspection Center -Inspection Center -Other -Other -Will Not Come Down -Not Working -Charging Station -Battery Cell -Not Working -Charging Station -Battery Cell -Preventative Maintenance -Not Working -Not Working -Charging Station -Battery Cell -Charging Station -Battery Cell -Other -Damaged -Other -Damaged -Damaged -Relocate/Install -Adjust View -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Line Leak -Other -Damaged -Other -Damaged -Other -Damaged -Strip and Wax Night 2 Reset -Strip and Wax Night 1 Reset -Scrape and Tile Reset -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Smart Lock -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Other -Damaged -Preventative Maintenance -Not Working -Other -Damaged -Other -Damaged -Other -Damaged -Smart Thermostat -Production Area -Production Area -Production Area -Production Area -Production Area -Not Closing -Not Opening -Other -Partially out -Sign completely out -Other -Water leaking -Cooling issue -Door -Door -Other -Water leaking -Cooling issue -Door -Other -Water leaking -Cooling issue -Cooling issue -Door -Other -Water leaking -Cooling issue -Door -Other -Water leaking -Water leaking -Cooling issue -Door -Other -Water leaking -Cooling issue -Door -Other -Other -Water leaking -Cooling issue -Door -Other -Water leaking -Cooling issue -Door -Door -Other -Water leaking -Cooling issue -Door -Other -Water leaking -Cooling issue -Cooling issue -Door -Other -Water leaking -Cooling issue -Door -Other -Water leaking -Water leaking -Cooling issue -Door -Other -Water leaking -Cooling issue -Door -Other -Other -Water leaking -Cooling issue -Door -Other -Water leaking -Cooling issue -Door -Door -Other -Water leaking -Cooling issue -Gasket -Gasket -Gasket -Gasket -Gasket -Low / No Ice Production -Broken Pipe -Winterize -Clogged Nozzles -Unsecured -Other -No Hot Water -Leaking -Other -Other -Cracked -Leaking -Loose -Improper Temperature -Other -Interior holes in walls -Roof Line/Fire Wall -Metal Flashing -Tree Trimming/Landscaping -Ceiling Tiles/Insulation -Other -Doorsweep -Piping -Exterior holes in walls -Roof Line -Key Broken Off -Won't Lock/Unlock -Handle/Door Knob -Handle/Door Knob -Key Broken Off -Won't Lock/Unlock -Door/Handle Issue -Shut Down -No Power -Not Heating -Other -Control Panel Not Working -Leaking -Not Heating -Controls not working -Other -No Power -Not Heating -Controls not working -Blower not working -Other -No Power -Conveyor Not Moving -Butter Roller Not Moving -No Power -Other -Not Heating -Controls not working -Controls not working -Other -No Power -Not Heating -No Power -Not Heating -Other -No Power -Not Heating -Other -Touch pad not working -No Power -Not Exhausting Air -No Power -Not Exhausting Air -Not Exhausting Air -No Power -No Power -Not Exhausting Air -Shut Down -Conveyor not turning -No Power -Not Heating -Other -Shut Down -Conveyor not turning -No Power -Not Heating -Other -Bunker Remodel -Other -Cooks Line -Lined Walls -PassThru -Other -Leak -Lighting Issue -Flow Rate -Partitions & Doors -Bar Stools -Benches -Portable Bars -Move -Remove -Secure -Kitchen Doors and Frames -Dining Room -Paint -Repair -Replace -Install -Cleaning -Other -Railing -To-Go Signs -Door Slams -Will Not Close -Dragging -Will Not Open -Handle -Broken Door -Latch/Closer/Hinge issue -Door Frame Issue -Weather Stripping -Water Leak -Window Film -Cracked -Shattered -Remove -Will Not Come Down -Stuck -Cannot Secure -Install New -Glass Film -Glass -Handle -Lighting issue -Cooling issue -Other -Door -Water leaking -Handle -Lighting issue -Cooling issue -Other -Door -Water leaking -Water leaking -Cooling issue -Door -Other -Lighting issue -Cooling issue -Other -Door -Water leaking -Handle -Hinges/Latch Broken -Not Maintaining Temp -Icing Up -Other -Fan Not Working -Water leaking -Other -Poor Taste -Foaming -Shut Down -No Power -No Product -Install Window Unit -Patio Heater -Bar Area -Bar Area -Bar Area -Bar Area -Bar Area -Other -No Power -Not Heating -Overgrown/Service Needed -Missed Service -Tile Replacement -Second Night Scrape -First Night Scrape -Daily Janitorial -Strip and Wax Night 2 -Strip and Wax Night 1 -Install -Sweeping -One Extra Pick-Up Request -One Extra Pick-Up Request -One Extra Pick-Up Request -No Service -Lock Request -One Extra Waste Pick-Up -Dumpster/Container Request -Open Top Request -Missed Pickup -Old Fixtures/Equipment Removal -Missed Pickup -One Extra Recycle Pick-Up -Dumpster/Container Request -Fix Power -Damage -Bale Pick-Up -Jammed -Oil Stains -Architectural Issue -Trash Can -Landscaping Service Needed/Weeds -Permit Issue -Cosmetic Issue -Vehicle/Parking -Notice of Hearing -Structural Issue -Landscaping Enhancement Needed -Other Issues -Code Issue -Trash/Debris -Municipal Inspection -Pool Issue -Health & Safety Issue -Slab Issue -Settlement cracks -Replace -Issue -Issue -Issue -Install -Damage -Damage -Damage -Damage -Damage -Broken/Damaged -New Keys -Electric Pallet Jack -Broken or Damaged -New Keys -New Keys -Forklift Rental -Battery Issue -Seatbelt/Horn/Light Repair -Making Noise -Battery Charger -Forks Not Working -Leaking Fluid -Brakes -Tire Issue -Not Moving/Starting -Damage -Anti-Theft Cary System -One Time Removal -Damage -Sign Falling -Issue -DVR/VCR Not Working -Monitor Not Working -Camera Not Working -Keypad Issue -Armored Car Key Issue -Unable To Lock/Unlock -Alarm Sensor - Other Door -Sounding -Alarm Sensor - Entrance Doors -Permit -Deficiency Report -Keypad/Error message -Alarm Sensor - Receiving Doors -System Down -Inspection -Panel Issue -Broken -Broken -Broken -Broken -Broken -Broken -Leak Repair -Bucket Test -Re-plaster -Backfill -Auto-Fill -Pump -Light -Filter -Basket/Skimmer -"Not Working, Broken or Damaged" -Loose -Leaking -Issue -Trench Grate Covers -Hair Strainer -Leaking -Filter Change -Damage -Running -Loose -Leaking -Clogged -Cracked -Overflowing -Overflow/Backup -Odor -Clogged -Trigger -Broken -Leaking -Clogged -Cracked -Loose -Overflowing -Leaking -Running -Deficiency -Regulatory Agency Inspection -Fleas -Ticks -Overhead Door Seal -Dock Brush Seal -Indian Meal Moths -Other -Disposition -Other -Slide Lock -Key Request -Key Broken Off -Key Request -Won't Lock/Unlock -Key Broken Off -Handle/Door Knob -Rekey -Handle/Door Knob -Key Request -Won't Lock/Unlock -Key Broken Off -Bulb/Lamp Recycling Box Needed -Lights Completely Out -Partial Outage -One Time Service Needed -Missed Service -Overgrown/Service Needed -No Show/Scrub & Recoat -Checklist Not Complete -Additional Service Requested -Scrub & Recoat Incomplete -No Show/Missed Service -Buffer Not Working -No Show/Strip & Wax -Equipment Scrubber Not Working -Backpack Vacuum Not Working -Strip and Wax Incomplete -Add and Quote Service High Bay Cleaning -Add and Quote Service Blitz Cleaning Due to Vendor Failure -Add and Quote Service Window Cleaning -Other -Special Clean-Up Needed -Special Clean-Up Needed -Special Clean-Up Needed -Other -Other -Missed Scheduled Pick-Up -Graffiti -Interior Wash -Exterior Wash -Install -Install -Dock Bumpers Damaged/Broken -Not Sealing -Leveler Damaged/Broken -Damage -Install -Damage -Install -Inspection -Stuck -Damage -Damage -Damage -Stained -Broken -Less than 15 Tiles -15+ Tiles -Grout -Remove -Damage -Install -Hand Dryers -Restroom Stall Door -Restroom Partitions -Water Damage -IAQ -Broken -Parts Needed -Tank Damage -Replace -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -No power -No power -Flooding -No Power -Tank Damage -Light Bulb -Deficiency Report -Damage -Deficiency Report -Keypad/Error message -Pull Station -Inspection -System Down -Deficiency Report -Permit -Sounding -Install -Damage -Cleaning Needed -Uneven -Handrail/Railing Repair -Oops Station -Not Working -Relocate -Power Outage -Fuel -Restart/Reconnect -TV Broken -Wiring -TV Installation -DVD Issue -Override Switch -Dragging -Weather Stripping -Broken Door -Will Not Open -Latch/Closer/Hinge issue -Door Slams -Handle -Will Not Close -Door Frame Issue -Off Track -Sensor Issue -Not Turning On/Off -Panel Issue -Not Sealing -Parts Request -No Power -Making Noise -Issue -Keys -Installation -Damage -Register or POS -Cracked or Peeling -Knob -Broken or Damaged -Hinge -"Not Working, Broken or Damaged" -Not Working -Leaking -Not Draining -Issue -No Hot Water -Parts Broken/Missing -Key Stuck -New Key Request -New Parts -Glass Broken/Missing -Partial Power -Power Outage -Ballast Out -Broken -Need Filters -Water Leak -Parts Ordering -Weather Damage -Squeaking -Rattling -Loud Noise -Septic Test -Backflow Test -Storm Damage -Storm Damage -Storm Damage -Storm Damage -Well Inspection -Alternative Floors (ALT LVT) -Fastbreak Night 1 -Breading Station -Fire -Preventative Maintenance -Replace -Repair -Re-key -Broken/Damaged -Black Specks In The Water -Filter Change -Low Water Pressure -Leaking -Broken/Damaged -Black Specks In The Water -Needs Salt -Beeping/Error Codes -Install -Install -Repair -Install -Other -Other -Repair -Not Maintaining Temp -Icing Up -Hinges/Latch -Gasket -Other -Install New -Other -"Not Working, Broken or Damaged" -Other -Other -Inspection -QC Inspection -Gas Leak -Running -Overflow -Other -No Hot Water -Loose -Leaking -Clogged -Not Closing -Not Opening -Showroom -Other -Not Working -Low Pressure -Making Noise -Drop Test -Handle/door Knob/chime -Will Not Close -Weather Stripping -Door Slams -Door Frame Issue -Will Not Open -Latch/closer/hinge Issue -Broken Door -Will Not Go Up -Will Not Come Down -Remove -Install New -Cannot Secure -Storage Room -Storage Room -Storage Room -Storage Room -Storage Room -Storage Room -Other -Lights Out -Sign Completely Out -Partially Out -Sign Completely Out -4 + Letters Out -1-3 Letters Out -High Electric Bill -4 Fixtures Or More -3 Fixtures Or Less -Survey Count Fixtures/Lamps -10 Or More Lamps Out -1-9 Lamps Out -Other -Repair -Retrofit -LP: Dark Site Escort Service -Curb Staking Service -Will Not Open -Will Not Close -Weather Stripping -Latch/Closer/Hinge Issue -Handle/Door Knob/Chime -Dragging -Door Slams -Door Frame Issue -Broken Door -"RS4 - Spot treatment of plowing, shoveling, and/or deicing - as instructed by SMS" -RS3 - Deicing only of the driveway and/or sidewalk -RS2 - Plow and deice the driveway -"RS1 - Plow, shovel, and deice the driveway and sidewalk" -Exterior -Interior -Other -Other -Front Line/Dining Room -Bathroom -Kitchen -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Repair -Other -Other -Rest Rooms -Rest Rooms -Dining Room - Top of Booth -Front Line/Dining Room -Kitchen -Shuttle -Roof -Other -Front Line/Dining Room -Kitchen -Kitchen -Front Line/Dining Room -Dumpster -Sheds -Walk-in -Rest Rooms -Kitchen -BOH -Front/Dining Room -Other -Other -Soffits -Other -Menu Board Repair -Pickup Window Repair -Not Working -Kitchen -Dining Room -Front Line -Front Line -Front Line -Lawn Disease Pest Contol -Lawn Insect Pest Control -Lawn Weed Pest Control -Green To Clean -Porch/Garage/Car Port -"Antennas Damaged, Missed, Or Broken" -"Turbines Damaged, Missed, Or Broken" -"Dishes Damaged, Missed, Or Broken" -"Solar Panels Damaged, Missed, Or Broken" -Chimney Damaged/Broken -Tarping Needed -Pool/Spa Heater -Stained -Possible Leak -Cracked Or Chipping -Well -Septic Backup -Septic Pump Needed -Septic Issues -Cracked/Broken/Damaged -Foundation Issue -De-winterize -Winterize -Water Extraction/Dryout -Leaking -"Not Working, Broken Or Damaged" -De-winterize -Winterize -Lights Out -Damaged -Water leaking -Shelving -Repair -Not Maintaining Temp -Icing Up -Hinges/Latch Broken -Gasket Repair/Replacement -Fan Not Working -Other -Not Maintaining Temp -Icing Up -Hinges/Latch -Gasket -Water leaking -Professional Cleaning -No Power -Running -Removal -Overflow -Other -Not cooling -No water -Loose/off wall -Leaking -Clogged -Routine Maintenance -Replacement -New Installation -Pump Failure -Other -On/Off Switch -Not warming/melting -Not maintaining temparture -Not dispensing properly -No Power -Cord -Out of Calibration -Not Freezing -Not Blending -No Power -Making Noise -Leaking -Cord -Will Not Turn On -Will Not Heat Up -"Replace Cord, Plug, Connection" -Repair Switch -Repair -Will Not Turn On -Will Not Heat Up -"Replace Cord, Plug, Connection" -Repair Switch -Repair -Shut Down -Probe -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Communication -Other -On/Off Button -Not Working -Motor/Sprocket -Heating Element -Cord -Belt Chain -Shut Down -Probe -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Communication -General Maintenance -Shut Down Carriage Arm Frozen -Replacement Blade -Poor Slice -Chain/Belt Issue -Will Not Turn On -Will Not Heat Up -Repair -Cracked -Broken -Window Unable to secure/lock -Window Not opening -Window Not closing -Window Motion sensor not working -Needs Repair -Damaged -Cove -Epoxy Coating -5 and over lamps out -1-5 lamps out -HVAC/Refrigeration -Power Washing -Storm Damage -"Broken, damaged or missing" -Treatment Needed -Trapping Needed -Trapping Needed -Treatment Needed -Trapping Needed -Treatment Needed -Treatment Needed -Treatment Needed -Quality Assurance Fee -Survey -Damaged Property -Salt Bucket -Roof Service -Stacking Service -Other -Stop Signs -Sign Completely Out -Partially Out -Other -No Parking Signs -New Install -Face Damage -Stop Signs -Sign Completely Out -Partially Out -Other -No Parking Signs -New Install -Face Damage -Other -Repair -Replace -Unsecure -Other -Monitoring -Plumbing -Cleaning -Other -Refrigerated Truck -Other -Shelving -Not Maintaining Temp -Icing Up -Hinges/Latch Broken -Gasket Repair/Replacement -Fan Not Working -Other -Not Working -Transformer -Other -Repair -Cut -Weld/Seam -Leaking -Shut Down -Probe -Communication -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Will Not Turn On -Will Not Heat Up -Not Working -Monitoring -Damaged Hardware/Frames -Other -Fixtures -Add Partition -4 Lamps Or More -3 Lamps Or Less -Bathroom -Restroom -Restroom -Restroom -Restroom -Restroom -TBD -S4 - Shovel & Deice only the sidewalk -Service IVR Fine -S2 - Plow parking lot and loading dock and shovel sidewalk -Other -Monthly Installment -Hauling service -S3 - Deicing only of the parking lot sidewalk and loading dock -"4.1 – 8 Salt, Plow Roadways, shovel walks" -Cracked -Shattered -Water Leak -Window Film -Latch/Closer/Hinge Issue -Dragging -Broken Door -Handle/Door Knob/Chime -Door Slams -Will Not Open -Glass -Door Frame Issue -Will Not Close -Handle/Door Knob/Chime -Weather stripping -Door slams -Will not open -Glass -Door Frame Issue -Will not close -Latch/Closer/Hinge issue -Dragging -Broken Door -Weather Stripping -Door Slams -Will Not Open -Post Hurricane Board-Up -Door Frame Issue -Will Not Close -Pre Hurricane Board-Up -Latch/Closer/Hinge Issue -Dragging -Broken Door -Rusting -Handle/Door Knob/Chime -Glass -Repair -Replace -Other -Other -Replace -Repair Damaged -Door Will Not Open/Close -Open Office Area -Interior -Stained -Sign Completely Out -1-3 Letters Out -4+ Letters Out -Face Damage -Replace -Inspection -Replace -Inspection -Bed Bugs -Leak -Office -Operations/Cage -Communications/Server Room -All -Conference Room -Open Office Area -Conference Room -Office/Restroom -Operations/Cage -Communications/Server Room -Showroom -Warehouse -Open Office Area -Open Office Area -Conference Room -Office -Operations/Cage -Showroom -Warehouse -Office/Restroom -Communications/Server Room -Conference Room -Showroom -Warehouse -Operations/Cage -Office/Restroom -Communications/Server Room -Open Office Area -Communications/Server Room -Open Office Area -Conference Room -Office/Restroom -Operations/Cage -Operations/Cage -Office/Restroom -Communications/Server Room -Open Office Area -Conference Room -Office/Restroom -Communications/Server Room -Open Office Area -Conference Room -Operations/Cage -Start Up Service Needed -Alarm Install -Crack -Removal -Cracking or Peeling -Small repairs -Large repairs -Removal -Foundation Repairs -Install mulch -Install -Lock -Installation -Repeater -Thermostat -Dumpster -Trash-out -Trash out -Structures -Misc Replacements -Preferred Vendor Discount -5 Point completion package -Flooring management fee -60 Point Inspection -Service Fireplace -Appliance Deep Cleaning -Secure opening -Install Exterior Trim Replacement (Does not include paint) -Install Fascia Replacement (Does not include paint) -Install Vinyl Siding -Install Pine Siding -Install T1-11 Siding -Install Cement Board Lap Siding -Install Stucco or Siding Repair (Time and Material Basis) -Install Pressboard Lap Siding -Install Cedar Siding -Crawl Space Cover -"Not Working, Broken or Damaged" -Haul Off -Install Complete Package (Ref/DW/Range/Micro hood) -Permit Fee -Burner Pan Replacement -Install -Install -Install -Install -Install -Pressure Washing -Replacement -Repair Damaged -Install New -Replace -Replace Button -Install Circuit -Install new -Install Panel -Install Outlet -Caulking -Broken or Damaged -Pressure test -Install stand -Flooding or water damage -Not Heating/Working Properly -Camera line -"Not Working, Broken or Damaged" -Other -Not Working -Other -Roof -Roof -Stuck -Bollard -Sign Completely Out -Partially Out -Other -Other -1-3 Letters Out -Minor Leak -Major Leak -Window Film -Service -Service -Other -Service -Service -Service -Replace -Repair -Shop -Shop -Shop -Shop -Roof -Fence -Dumpster -Door -Shop -Shop -Replace -Repair Damaged -Stop Signs -No Parking Signs -Sign Completely Out -Face Damage -Telephone -Door Will Not Open/Close -Buttons Not Working -Storm Damage -Other -Leak -Missing -Leaking -Damaged -Damaged -Missing -Leaking -Stuck -Making Noise -Repair -Inspection -Other -Not Cooling -No Water -Loose/Off Wall -Overflowing -Loose -Overflow -No Hot Water -Water Main Issue -Pipes Impacted -Pipe Frozen -Pipe Burst -Running -Overflow -No Hot Water -Loose -Odor -Water Meter -Water Meter -Water Meter -Running -Loose -Well -Septic Tank -Lift Station -Test -Repair -Will Not Go Up -Office -Exterior -Sewage Odor -Gas Leak -Stuck -Lights -Inspection -Communication -Wet -Stained -Damaged -Damaged -Automatic -Wet -Missing -Missing -Other -Carpet Tiles Missing -Other -Less Than 15 Tiles -15+ Tiles -False Alarm -Other -Overgrown -Striping -Replace -Winterize -Replace -Stop Signs -Replace -Receiving Door Lighting -Wiring -Wiring -Other -Will Not Open -Will Not Open -Will Not Close -Weather Stripping -Latch/Closer/Hinge Issue -Handle/Door Knob/Chime -Dragging -Door Slams -Door Frame Issue -Cart Guard -Broken Door -Will Not Go Up -Fairborn -Will Not Go Up -Will Not Come Down -Remove -Install New -Cannot Secure -Will Not Go Up -Other -Will Not Open -Tree Trimming/Landscaping -Roof Line/Fire Wall -Roof Line -Piping -Other -Metal Flashing -Interior Holes In Walls -Exterior Holes In Walls -Doorsweep -Ceiling Tiles/Insulation -Fire Sprinkler -Alarm Sensor - Other Door -Alarm Sensor - Receiving Doors -Alarm Sensor - Entrance Doors -4+ letters out -Need Cover -Shop -Other -Other -Common Area -Administrative -Gasket Repair/Replacement -Showroom/Sales/Finance -Wont Lock/Unlock -Floor -Fixtures -Making Noise -Repair -Refrigeration -Other -Roof Line -Office/Restrooms -Showroom/Sales/Finance -Administrative -Heating -Cooling issue -Replace -Showroom -Water Leaking -Lighting issue -Administrative -Cooling issue -Safeguard -Shelving -Other -Wont Lock/Unlock -Sink -Fan Not Working -Shop -Key Broken Off -Repair -Wont Lock/Unlock -Exterior Holes In Walls -Shop -Wont Lock/Unlock -Repair -Other -Icing Up -Repair -No Power -Shop -Roof Line/Fire Wall -Sign Partially Lit -Cooling Issue -Leaking -Administrative -Not Working -Administrative -No Product -Window Film -Shop -Warehouse -Shop -Warehouse -Cooling issue -Lighting issue -Other -Interior Holes In Walls -Poor Taste -Other -Showroom -Other -Alarm Sensor - Entrance Doors -Other -No Power -Paint -Key Broken Off -Showroom/Sales/Finance -Doorsweep -Administrative -Cleaning -Shelving -Fan Not Working -Showroom -Service -Fixtures -Office/Restrooms -Won't Turn On/Off -Showroom/Sales/Finance -Repair -Equipment -Beer System -Repair -Ceiling Tiles/Insulation -Handle -Showroom/Sales/Finance -Not Maintaining Temp -Parts -Drains -Showroom/Sales/Finance -Lighting issue -Door -Shut Down -Administrative -Belt Replacement -Equipment -Blinking -Broken -Other -Wont Lock/Unlock -Glass -Sink -Hinges/Latch Broken -Schedule Change -Other -Service -Face damage -Common Area -Cooling -Door -Repair -Repair -Service -Door -Unit Stolen -Parts -Too Hot -Thermostat Has Blank Display -Fixtures -Hatch -Warehouse -Glass -Walls -Replace -Service -Fire Sprinkler -Other -Water leaking -Plumbing -Safeguard -Clean -Glass -Office/Restrooms -Handle -Alarm Sensor - Other Door -Common Area -Lighting Issue -Piping -1-3 letters out -Add Fixture -Common Area -Alarm Sensor - Receiving Doors -Handle -Partitions -Door -Replace -Tree Trimming/Landscaping -Won't Turn On -Service -Sign completely out -Need Salt -Repair -Replace -Too Cold -Repair -Door -Metal Flashing -Cleaning -Wont Lock/Unlock -Wont Lock/Unlock -Will Not Open -Handle -Changing Station -Plumbing -Loose -Administrative -Common Area -Control Panel Not Working -Other -Not Working -Service -Water leaking -Glass -Scratched -Noisy -Off Tracks -Water leaking -Preventive Maintenance -Other -Ceiling -Loose -Common Area -Loading Dock/Lift -Replace -Repair -Other -Install -Customer Requested Survey -Customer Requested Survey -Customer Requested Survey -40 and over lamps out -1-40 lamps out -Water -"Replace Cord, Plug, Connection" -Replace Cord -Replace Cord -Pump -Treatment -New Install -Need Salt -Leaking -Broken -Shelving -Repair -Not Maintaining Temp -Icing Up -Hinges/Latch Broken -Gasket Repair/Replacement -Fan Not Working -Replace -Remove -Replace -Repair -Won't Turn On -Need Cover -Loose -Blinking -Add Fixture -Not Working -Not Moving -Chain Is Broken -Running -Overflow -Other -No Hot Water -Loose -Leaking -Clogged -Replacement/New Install -Repair Required -Recharge -Preventive Maintenance -Leaking -Inspection -Replace -Not Maintaining Temp -Not Heating -Missing Knob -Leaking -Won't Turn On -Need Cover -Loose -Blinking -Add Fixture -Will Not Turn On -Will Not Heat Up -Replace -Repair -Remove -Overflowing -Backed Up/Clogged -Repair -Pumping -Water Leaking -Other -Lighting Issue -Handle -Glass -Door -Cooling Issue -Key Broken Off -Damaged -Visual Screen -Access Door -Replace -Repair -Power Switch -High Limit Switch -Heating Element -Controller -Contactor/Starter -Clean -Too Hot -Too Cold -Thermostat Or Knob -Repair Drawer -Not Holding Temp -No Power -Running -Overflow -Other -No Hot Water -Loose -Leaking -Clogged -Replace -Remove -Prune/Trim/Cutback -Fertilize -Replace -Repair -Won't Turn On -Need Cover -Loose -Blinking -Add Fixture -Trash Receptacle -Tables -Replace -Repair -Picnic Table -Cigarette Receptacle -Chairs -Replace -Repair -Graffiti -Replace -Repair -Too Warm -Too Cold -Shelving -Not Maintaining Temp -Hinges/Latch -Glass Sratched/Cracked -Fan Not Working -Will Not Turn On -Will Not Spin/Move -Replace Cord -Not Working -Replace -Repair -Too Hot -Too Cold -Thermostat Or Knob -"Repair/Replace Cord, Plug, Connection" -Repair -Not Holding Temp -No Power -Replace -Repair -Missing -Won't Turn On -Poor Air Flow -Noisy -Air Balance -Not Working -Replace -Repair -Not Working -Running -Overflow -Other -No Hot Water -Loose -Leaking -Clogged -Other -Won't Lock/Unlock -Key Broken Off -Will Not Open -Will Not Close -Weather Stripping -Paint -Latch/Closer/Hinge Issue -Handle/Door Knob/Chime -Glass Guard -Dragging -Door Slams -Door Frame Issue -Broken Door -Damage From Fire/Water Pipe -Replace -Missing Parts -Leaking -Too Cold -Replace Breaker Strips -Replace -Repair Lids/Handles -Repair -Not Maintaining Temp/Refrigerated Rail -Not Maintaining Temp/Freezer -Icing Up -Gasket Repair/Replacement -Collars Repair Or Replace -Too Cold -Replace Breaker Strips -Replace -Repair Lids/Handles -Repair -Not Maintaining Temp -Leaking -Icing Up -Gasket Repair/Replacement -Collars Repair Or Replace -Scratched -Replace -Repair -Loose -Broken -Inspection -Discharge -Replaced -Leaking -Replaced -Leaking -Replace -Repair -Tables Tops And Bases -Stools -Podium -Dividers -Chairs -Booths -Will Not Turn On -Will Not Heat Up -Replace -Repair Switch -Repair -Replace -Repair -Won't Turn On -Won't Turn Off -Replace -Repair -Burning Odor -Too Cold -Replace Breaker Strips -Replace -Repair Lids/Handles -Repair -Not Maintaining Temp -Leaking -Icing Up -Gasket Repair/Replacement -Collars - Repair Or Replace -Will Not Turn On -Will Not Heat Up -"Replace Cord, Plug, Connection" -Repair Switch -Repair -Too Cold -Replace Breaker Strips -Replace -Repair Lids/Handles -Repair -Not Maintaining Temp -Icing Up -Collars Repair Or Replace -Will Not Turn On -Will Not Heat Up -"Replace Cord, Plug, Connection" -Repair Switch -Repair -Replace -Repair -Replace -Repair -Re-Grout -Replace -Repair -Repair -No Ventilation -Hood Not Functioning -Won't Turn On -Repair -No Ventilation -Fan Not Functioning -Won't Turn On -Repair -No Ventilation -Fan Not Functioning -Won't Turn On -Repair -No Ventilation -Fan Not Functioning -Won't Turn On -Repair -Poor Flow -Only One Side Works -Noisy -Need Filters -Fan Not Functioning -Leaking Condensation -Insulation -Falling From Ceiling -Damaged -Cut/Open -Replace -Repair -Not Working -Too Cold -Thermostat Or Knob -Repair -Not Holding Temp -No Power -Too Cold -Replace Breaker Strips -Replace -Repair Lids/Handles -Repair -Not Maintaining Temp -Icing Up -Collars Repair Or Replace -Drain Clogged -Replace -Paint -Loose/Falling Down -Dripping Water -Replace -Repair -Other -Replace -Repair -Stuck -Storm Damage -Repair (Please Identify Area In Notes) -Leaking -Replace -Repair Cord/Plug -Repair (Please Identify Area In Notes) -Not Maintaining Temp -Making Noise -Replace -Move -Add -Replace -Repair -Replace -Repair -Will Not Turn On -Will Not Heat Up -Replace -Not Working -Damaged Frame -Broken Glass -Repair -Not Maintaining Temp -Icing Up -Hinges/Latch -Gasket -Replace -Repair (Please Identify Area In Notes) -Not Working -Noisy -Clean -Replace -Repair -Will Not Turn On -Will Not Heat Up -Not Working -Won't Turn On -Need Cover -Loose -Blinking -Add Fixture -Won't Turn On -Will Not Heat Up -Missing Or Broken Parts (Describe In Notes) -Leaking Grease -Incorrect Temperature -Caught Fire -Calibration -Vandalized/Graffiti -Needs Repair -Installation Of New Window Shades -Falling Down -Broken/Not Working -Wobbly -Scratched -Loose -Broken -Repair -Loose -Broken -Replace -Repair -Replace -Repair -Won't Shut Off -Won't Come On -No Heat -Won't Turn On -Replace -Repair -Need Cover -Loose -Blinking -Add Fixture -Paint -Won't Lock/Unlock -Paint -Won't Lock/Unlock -Paint -Won't Lock/Unlock -Paint -Glass Guard -Won't Lock/Unlock -Key Broken Off -Paint -Won't Lock/Unlock -Paint -Glass Guard -Paint -Routine Maintenance -Routine Maintenance -Carpet Base -Routine Maintenance -Restricter Plates -Pumps -Discharge -Dining Room Floor -Jammed -Damaged -Menu Board -Hood Lights -Not Working -Restaurant Open Button Broken -Kitchen -Dining Room -Kitchen -Dining Room -Kitchen -Dining Room -Kitchen -Dining Room -Kitchen -Electric Baseboard Heaters -Dining Room -Kitchen -Dining Room -Sump Pump Not Working -Washer - Water Issue -Storm Damage -"Not Working, Broken or Damaged" -Broken or Damaged -Bale Pick-up -Pharmacy -Pharmacy -Sweep and Scrub -Other -Level 3 -Level 2 -Level 1 -Hand Watering -Tree Removal Needed -Treatment Needed -Treatment Needed -Trapping Needed -Other -Ice Maker Not Working -Damaged or Missing -App/IVR Fine -Walk Way -Security Lighting -Other -Other -Lighting Control System -Light/Bulb/Glove Below 20ft/6m -Light Covers/Grates -Fixture Repair/Maintenance -Exit Lights -Emergency Lights -Canopy/Wall Pack Lighting -Vehicle/Parking -Vehicle/Parking -Trash/Debris -Trash/Debris -Trash Can -Trash Can -Structural Issue -Structural Issue -Pool Issue -Pool Issue -Permit Issue -Permit Issue -Other Issues -Other Issues -Oil Stains -Oil Stains -Notice of Hearing -Notice of Hearing -Municipal Inspection -Municipal Inspection -Landscaping Service Needed/Weeds -Landscaping Service Needed/Weeds -Landscaping Enhancement Needed -Landscaping Enhancement Needed -Health & Safety Issue -Health & Safety Issue -Cosmetic Issue -Cosmetic Issue -Code Issue -Code Issue -Architectural Issue -Architectural Issue -Other -Other -Other -Xeriscape Damaged/Blown Away -Sump Pump Not Working -Phone Line -Other -Other -Grading/Swales - Flood Spots -Debris Coming Through Vents -Cracked/Damaged -Cracked/Damaged -"Sprinkler heads missing, leaking or broken" -Tree Removal -KU Infant & Toddler Carpets -Termites -Rattling Noise -No Light -Knob -Hinge -Ants -Installation -Not working -Stuck -Not working -New Install -Will not go up -Will not come down -Remove -Install new -Cannot secure -Other -Other -Other -Other -Other -Other -Handle/Door Knob/Chime -Cart guard -Handle/Door Knob/Chime -Rusting -Handle/Door Knob/Chime -Key broken off -Cannot alarm -Beeping -Handle/Door Knob/Chime -Glass -Cart guard -Handle/Door Knob/Chime -Glass -Handle/Door Knob/Chime -Glass -Cart guard -Override button broken -Pulling Up -"Not Working, Broken or Damaged" -Damaged -Clogged Gutters -Carpet Cleaning Needed -Windows Int And Ext -Windows Int -Windows Ext -Water Too Hot -Water Too Hot -Wall Packs Out -Wall Cleaning -Vent Cleaning -Treatment Room -Treatment Room -Treatment Room -Treatment Room -Treatment Room -Treatment Room -Tile Repair -Tile Repair -Strip And Wax -Storage -Storage -Storage -Storage -Storage -Showerhead/Handle Broken -Showerhead/Handle Broken -Sheet Metal -Sheet Metal -Sheet Metal -Sheet Metal -Running -Running -Replace -Replace -Replace -Repair -Rehang -Pressure Wash Sidewalk Only -Pressure Wash Gas Station Canopy -Pressure Wash Exterior Building -Pressure Wash Dumpster Area -Pm -Pm -Pm -Pm -Pm -Pm -Pm -Pm -Pm -Pm -Overflowing -Overflowing -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Office -Office -Office -Office -Office -Not Working -Not Working -Not Producing Ice -Not Draining -Not Draining -Not Draining -Not Draining -No Hot Water -No Hot Water -Move -Making Noise -Loose -Loose -Loading Dock Pressure Washing Service -Light Bulb Changing -Leaking -Leaking -Leaking -Leaking -Leaking -Leaking -Leaking -Kiosk -Kiosk -Kiosk -Kiosk -Kiosk -Installation -Install/Swap -Install Parts -Hot Jet Pm -High Dusting Service -Front Pressure Washing Service -Floor Drain -Emergency Water Extraction -Drain Service -Detail Clean And Disinfect Restroom -Damage -Cracked -Cracked -Clogged -Clogged -Cleaning Pm -Cleaning Pm -Cleaning Pm -Cleaning -Cleaning -Cleaning -Clean And Sanitize -Circulation Pump -Ceiling Tile Cleaning -Carpet Extraction -Board-Up -Winterize -Roof Mounted -Repair Damaged -Repair Damaged -Repair Damaged -Repair Damaged -Repair Damaged -Repair Damaged -Repair -Repair -Repair -Repair -Repair -Repair -Other -Other -Other -Other -Missing -Missing -Missing -Missing -Leaking -Hardware -Ground Mounted -Grid Repair -Damaged/Loose -Damaged -Damaged -Damaged -Damaged -Damaged -Building Mounted -Broken Pipe -Bolt -FS/IPM -Service IVR Fine -Other -Other -Unit Replacement -Odor -Lightstat -Front Salon -Front Salon -Front Salon -Front Salon -Front Salon -Front Salon -Found On Pm -Belt Replacement -Back Salon -Back Salon -Back Salon -Back Salon -Back Salon -Back Salon -Other -Other -"Not Working, Broken or Damaged" -Insulation -Deck Repair -"Damaged, Missing or Wet" -"Damaged, Missing or Wet" -more than 25 lights out -Will not open -Other -Will not go up -Other -Paint -Other -Post Hurricane Board-up -Handle/Door Knob -4 fixtures or more -Other -Paint -Remove -Other -Repair -3 fixtures or less -Handle/Door Knob -No Parking signs -Will not close -Damaged -Mold -Latch/Closer/Hinge issue -Will not close -Dragging -Post Hurricane Board-up -Cracked -Additional lighting requested -Paint -Outlet - new install -Carpet Tiles Missing -Other -Other -Weather stripping -Other -Schedule Change -1-5 lamps out -Install -Rekey -Door Frame Issue -Will not open -Grout -Other -Clogged -Other -Broken Door -Shattered -Wiring -Weather stripping -15+ tiles -Wiring -Pre Hurricane Board-up -Door slams -Will not open -Replace -Handicap signage -Other -Pre Hurricane Board-up -Will not close -Other -Door Frame Issue -Door Frame Issue -Handle/Door Knob -4 fixtures or more -Will not come down -Sensor -6-25 lamps out -Exit signs -Asbestos -Rekey -Store Open button broken -Other -Repair damaged -3 fixtures or less -Latch/Closer/Hinge issue -Key broken off -Other -Water leak -Dragging -Door slams -Rekey -Relocate -Missing -Broken Door -Handle/Door Knob -Other -No power -Will not close -Entire lot is out -Other -Remove -Door Frame Issue -Other -Will not go up -Key broken off -Outlets -Outlet - new install -Broken Door -Other -Door slams -Weather stripping -No power -Other -Dragging -Dragging -Other -Will not open -Hand dryers -Window Film -Clogged -Alarm not secure on door -Stop Signs -Other -Broken Door -Rekey -Clogged -Install -Other -Key broken off -Door slams -Other -Will not close -Other -Other -Other -Curb/Car/Wheel stop -Other -Install new -Broken Door -Survey -Outlet not working -Latch/Closer/Hinge issue -Water Leak -Receiving door lighting -Other -Inspection -Latch/Closer/Hinge issue -Bathroom fans -Beeping -Will not close -Other -Other -Emergency lighting -Dragging -Leaking -Repair -Shattered -Key broken off -Handle/Door Knob -Cannot alarm -Cracked -Door slams -Cannot secure -Polish -Tuck point -Cannot secure -Rekey -Weather stripping -Inspection -Key broken off -Will not open -Other -Water Leak -Less than 15 tiles -Other -Breakers/Panels -Other -Will not come down -Latch/Closer/Hinge issue -Broken Door -Door slams -Install new -Other -Other -Additional lighting requested -Dragging -Latch/Closer/Hinge issue -Handle/Door Knob -Window Film -Will not open -Door Frame Issue -Twist Timer broken -Key broken off -Other -Door Frame Issue -Power washing partial -Power washing full -Other -Other -Weed Removal -fountain maintenance -Other -Won't Turn Off -Will Not Flush/Backing Up -Weeds/Fertilization Needed -Water Damage -Vent Issue -Vandalism -Vandalism -Unable to Secure -Unable to Secure -Unable to Secure -Unable to Secure -Unable to Secure -Trees/Shrubs -Tree Trimming Needed -Timer Not Working -Storm Damage -Storm Damage -Sprinkler Issue -Spring Issue -Smoke Smell -Slow or Clogged Drain -Slow or Clogged Drain -Screen -Routine Service Needed -Routine Service Needed -Routine Service Needed -Rodents/Large Pests -Pulling Up -Programming Issue -Plaster Issue -Peeling Up/Separating -Peeling Paint -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -"Not Working, Broken or Damaged" -Not Heating/Working Properly -Not Heating -Not Cooling -Not Cooling -Not Closing -Not Cleaning Properly -"Missing, Broken or Damaged" -"Missing, Broken or Damaged" -Missing Slats -Missing Screen -Missing Remote -Making Noise -Maid Service Needed -Lost Keys -Lost Keys -Light Not Working -Lifting Concrete -Leaking Water/Broken Line -Leaking Water -Leaking Water -Leaking/Running Constantly -Leaking -Knob or Hinge -Interior Leaking/Water Spots -Hole -Grout Issue -Grout Issue -Grass/Lawn -Gas Smell -Gas Smell -Gas Smell -Gas Smell -Gas Smell -Freezer Not Working -Framing -Floor Paint Cracking or Peeling -Flooding/Water Damage -Flooding/Water Damage -Falling off Wall -Exposed Wiring -Dryer Vent -Discoloration -Damaged/Torn -Damaged -Damaged -Cracking or Peeling -Cracking or Peeling -Cracking or Peeling -"Cracked, Broken or Damaged" -Cracked Tile -Cracked Tile -Cracked or Peeling -Cracked or Peeling -Clogged Gutters -Chimney Sweep Needed -Carpet Cleaning Needed -"Broken, Torn or Damaged" -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken or Damaged -Broken Glass -Broken/Leaky Pipe or Faucet -Broken/Leaky Pipe or Faucet -Breaker -Beeping -Ants/Termites -RLMB -"sweep, mop and buff with all carpets" -Wet/Stained -Wet/Stained -Wet/Stained -Vestibule -Vestibule -Vestibule -Vestibule -Vendor Meet -Stripping -Store Closing -Signage -Sensor Survey -Sensor -Sales Floor -Sales Floor -Sales Floor -Sales Floor -Sales Floor -Sales Floor -Restroom Sanitization -Rebate -Portable restrooms -Filter Change -Patching -Outlet/Power to Registers -Outlet/Power to CPD -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Novar -No Power to Sensormatic -No Power to Doors -Missing/Damaged -Missing/Broken -Missing/Broken -Missing Grates -Line jetting -Lights out -Lights out -Latch/Closer/Hinge issue -Landlord Access -Install new -Install new -Handle/Door Knob -Gas odor -Gas Odor -Garbage Clean Up -Fire Alarm -Condensate Drain Line Repair -Communication Loss -Coils Stolen -Coil Cleaning -Carpet Tiles -Camera line -Backroom -Backroom -Backroom -Backroom -Backroom -Backroom -Approved Repair -Approved Move/Add/Change -Plant Fertilization Service -PH Amendment -Storm Water Drain Service -Rain Garden Plant Maintenance -Rain Garden Mulch Service -Annual Flower Rotation -Tree Fertilization Service -Soil Nutrient Test -Overseeding Service -No Power -Replacement -Cleaning -New Installation -Replacement -Shut Down -Preventative Maintenance -Other -Other -Energy Management System (EMS) -Energy Management System (EMS) -Cleaning -Repair -Repair -Energy Management System (EMS) -Cleaning -Repair -New Installation -Conveyor not turning -Foaming -Preventative Maintenance -Replacement -Not Heating -New Installation -Preventative Maintenance -Water leaking -Other -Water leaking -Lighting issue -Water leaking -Door -Glass -Handle -Lighting issue -Handle -Door -Water leaking -Lighting issue -Handle -Lighting issue -Door -Glass -Glass -Handle -Glass -Door -Other -Other -Other -Outdoor Furniture -Furniture -Flooring -Cooling issue -Shut Down -Other -Not tilting -Not heating -No Power -Shut Down -Poor Taste -Other -No Product -No Power -Too much smoke in restaurant -Shut Down -Other -Not smoking -Not heating -No Power -Intermittent heating -Doors Broken -Shut Down -Other -No Power -Adjustment Knob Problem -Sneeze Guard Broken -Other -Not Cooling -No Power -Shut Down -Other -Not Heating -No Power -Cooling issue -Shut Down -Other -Not cooling -No power -Shut Down -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Shut Down -Paddle won't spin -No Power -Touch pad not working -Shut Down -Other -Not Heating -No Power -Cooling issue -Cooling issue -Shut Down -Other -Not Heating -No Power -Shut Down -Other -Not Heating -Shut Down -Other -Not Heating -No Power -Leaking -Cleaning System/Filter -Shut Down -Other -Not working -Shut Down -Other -Not keeping product hot -Not keeping coffee hot -No Power -Shut Down -Other -Not cleaning -Shut Down -Other -Not cleaning -Shut Down -Other -Not Heating -No Power -No Humidification -Door/Handle Issue -Control Panel Not Working -Shut Down -Other -Not Heating -No Power -Door/Handle Issue -Control Panel Not Working -Shut Down -Other -Not Heating -No Power -Conveyor not turning -Shut Down -Other -Not keeping product hot -No Power -Shut Down -Poor Taste -Other -No Product -No Power -Parking lot Striping Compliance -Window Monthly -Detail Clean and Disinfect Restroom -Burnish Service -Restroom Cleaning (Annual) -Janitorial and Floor Services (Winter) -Janitorial and Floor Services (Winter) -Janitorial and Floor Services (Winter) -Janitorial and Floor Services (Winter) -Janitorial and Floor Services (Winter) -Janitorial and Floor Services (Regular) -Janitorial and Floor Services (Regular) -Janitorial and Floor Services (Regular) -Janitorial and Floor Services (Regular) -Super Clean -Project Daily -Emergency Water Extractions -Graffiti -Kitchen -Water leak -Water leak -Water leak -Water Heater -Water Heater -Water Damage -Water Cloudy -Vandalism -Vandalism -Vandalism -Vandalism -Vandalism -Unlock -Unlock -Unlock -Unlock -Tub -Tub -Trouble Alarm -Treat Area -Treat Area -Treat Area -Treat Area -Treat Area -Treat Area -Treat Area -Treat Area -Trap and Remove Animal -Tile -Tile -Temporary Units -Temporary Units -Temporary Units -Temporary Units -Stairs -Stairs -Stained -Stained -Stained -Stained -Stained -Stained -Stained -Sprinkler -Sprinkler -Spray Perimeter -Spray Perimeter -Spray Perimeter -Spray Perimeter -Spray Perimeter -Spray Perimeter -Spray Perimeter -Skimmer Baskets -Sink -Sink -Shower -Shower -Shepards Hook -Sales Center -Sales Center -Sales Center -Sales Center -Running Poorly -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Routine Maintenance -Resurface -Resurface -Resurface -Resurface -Resurface -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Replace -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repaint -Repaint -Repaint -Repaint -Repaint -Remove -Remove -Remove -Remove -Refrigerator Line -Refrigerator Line -Refinish -Refinish -Refinish -Refinish -Refinish -Refinish -Reattach -Reattach -Reattach -Reattach -Reattach -Pump -Pump -Powerwash -Place Trap -Place Trap -Place Trap -Place Trap -Place Trap -Place Trap -Place Trap -Place Trap -Place Trap -PH Too Low -PH Too High -Patch/Repair -Patch/Repair -Patch/Repair -Patch/Repair -Patch/Repair -Patch/Repair -Patch/Repair -Other water chemistry Issue -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Operating erratically -Not Running -Not moving -Not heating -Not heating -Not heating -Not heating -Not cooling -Not cooling -Not cooling -Not cooling -Not cooling -Noisy -Noisy -Noisy -Noisy -No Airflow -No Airflow -No Airflow -No Airflow -New -New -New -New -New -New -New -Move/Relocate -Missing/Broken Parts -Making noise -Making Noise -Making Noise -Making Noise -Making Noise -Maintenance Building -Maintenance Building -Maintenance Building -Maintenance Building -Lock -Lock -Lock -Lock -Liner -Liner -Life Ring -Ladder -Ladder -In Wall -In Wall -Housekeeping Building -Housekeeping Building -Housekeeping Building -Housekeeping Building -Hinges -Hinges -Hinges -Hinges -Heater -Heater -Guest Building -Guest Building -Guest Building -Guest Building -Garbage Disposal -Garbage Disposal -Floor drain -Floor drain -Filter -Filter -Fencing -Fencing -EMS -EMS -EMS -EMS -Eliminate Breeding Conditions -Eliminate Breeding Conditions -Eliminate Breeding Conditions -Eliminate Breeding Conditions -Drain -Drain -Dispose of -Dishwasher -Dishwasher -Discard -Discard -Discard -Discard -Discard -Discard -Discard -Discard -Discard -Discard -Discard -Device Failed -Deck -Deck -Cupped/Buckled -Coping -Coping -Common Area -Common Area -Common Area -Common Area -Chlorine Too low -Chlorine Too High -Chemical Management System -Capture Pest -Capture Pest -Capture Pest -Capture Pest -Capture Pest -Broken -Broken -Broken -Broken -Activities Building -Activities Building -Activities Building -Activities Building -Refresh Service (Front SR and back SMB) -Floor Care Monthly -Carpet extraction N -Janitorial Service Monthly -Half Strip and Wax -Bathroom fans -Hand dryers -Sewage odor -Gas leak -Tree Trimming/Landscaping -Roof Line/Fire Wall -Handle/Door Knob/Chime -Handle/Door Knob/Chime -Handle/Door Knob/Chime -Handle/Door Knob/Chime -Handle/Door Knob/Chime -Handle/Door Knob/Chime -Fix power -Door Frame Issue -Door Frame Issue -Door Frame Issue -Door Frame Issue -Door Frame Issue -Door Frame Issue -Ceiling Tiles/Insulation -Broken Door -Broken Door -Broken Door -Broken Door -Broken Door -Broken Door -Other -Broken planks -Buckled -Repair Damaged -Other -Carpet Tiles Missing -Repair damaged -Other -15+ tiles -Less than 15 tiles -Other -Fill large cracks -Repair damaged -Lift Station -Well -Septic Tank -Winterize -Wet -Wet -Wet -Water -Stuck -Striping -Stop Signs -Stained -Stained -Stained -Spring Startup -Sign poles -Severe cracks -Sand Bag -Sales floor -Running -Roof Line -Roof -Roof -Roof -Rodent prevention -Reprogram -Replace -Replace -Replace -Replace -Replace -Repair -Repair -Repair -Repair -Repair -Ramp -Potholes -Piping -Parking lot poles -Painted -Paint (graffiti) -Paint (graffiti) -Paint (graffiti) -Paint -Paint -Overgrown -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Office -No Parking signs -Missing -Metal Flashing -Manual -Lights -Leak -Leak -Interior holes in walls -Install Power -Install -Install -Install -Install -Install -Inspection -Hurricane Boards Down -Hurricane Board Up -Handicap signage -Fence -Fence -Fence -Exterior holes in walls -Exterior -Other -Dumpster Pad -Dumpster -Dumpster -Dumpster -Drainage problem -Doorsweep -Doors/Gates -Door -Door -Door -Damaged -Damaged -Damaged -Damaged -Curb/Car/Wheel stop -Cracked -Complaint -Communication -Building structure -Building structure -Building structure -Bollard -Bollard -Bollard -Automatic -ADA Compliance -Wiring -Wiring -Will not open -Will not open -Will not open -Will not open -Will not open -Will not open -Will not go up -Will not go up -Will not come down -Will not come down -Will not close -Will not close -Will not close -Will not close -Will not close -Will not close -Weather stripping -Weather stripping -Weather stripping -Weather stripping -Water meter -Water main issue -Water Leak -Water Leak -Twist Timer broken -Trouble -Test -Termites -Storm Damage -Store Open button broken -Stop Signs -Spiders -Snakes -Sign completely out -Sign completely out -Sign completely out -Shattered -Shattered -Sensor -Scorpions -Schedule Change -Rusting -Running -Running -Running -Running -Running -Roaches -Repair required -Repair -Remove -Remove -Recharge -Receiving door lighting -Rats - severe -Rats - moderate -Rats - mild -Pre Hurricane Board-up -Pre Hurricane Board-up -Post Hurricane Board-up -Post Hurricane Board-up -Other -Pipes impacted -Pipe frozen -Pipe burst -Phone line install -Partially out -Partially out -Panel issue -Overflowing -Overflow -Overflow -Overflow -Overflow -Outlets -Outlet/Power to register -Outlet other -Outlet/Power to office -Outlet - new install -Outlet - new install -Other inspection -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Other -Odor -Not cooling -No water/Off -No water -No power -No power -No Parking signs -No hot water -No hot water -No hot water -New Install -10 and over lamps out -Missing -Missing -Minor Leak -Mice - severe -Mice - moderate -Mice - mild -Major leak -Loose/off wall -Loose -Loose -Loose -Loose -Lizards -Leaking -Leaking -Leaking -Leaking -Leaking -Leaking -Leaking -Leaking -Leaking -Leak -Key broken off -Window Film -Window Film -Install new -Install new -Install -Install -Install -Inspection required -Inspection -Latch/Closer/Hinge issue -Latch/Closer/Hinge issue -Latch/Closer/Hinge issue -Latch/Closer/Hinge issue -Latch/Closer/Hinge issue -Latch/Closer/Hinge issue -Handicap signage -Glass -Glass -Glass -Frozen -Flying Insects -Fire sprinkler -Fire alarm -False alarm -Face damage -Face damage -Face damage -Exit signs -Entire lot is out -Emergency lighting -Dragging -Dragging -Dragging -Dragging -Dragging -Dragging -Door slams -Door slams -Door slams -Door slams -Door slams -Door slams -Damaged poles -Damaged pipes -Damaged -Damaged -Crickets -Cracked -Cracked -Cracked -Clogged -Clogged -Clogged -Clogged -Cart guard -Cart guard -Cart guard -Cannot secure -Cannot secure -Cannot alarm -Breakers/Panels -Birds -Beeping -Bats -Ants -Annual inspection -Alarm not secure on door -Additional lighting requested -Additional lighting requested -4+ letters out -4 fixtures or more -4 fixtures or more -3 fixtures or less -3 fixtures or less -1-9 lamps out -1-3 letters out -Water leaking -Water leaking -Other -Other -Lighting issue -Lighting issue -Other -Other -Handle -Handle -Glass -Glass -Door -Door -Cooling issue -Cooling issue -Other -Other -Damaged -New Install -Other -Schedule Change -Cooling -Heating -Entire area -Survey -PM/Clean units -Office area -Stockroom -Sales -Not certain -Unit damaged -Unit stolen -All -Office area -Stockroom -Sales -All -Office area -Stockroom -Sales -All -Office area -Stockroom -Sales -All -Office area -Stockroom -Sales -All -Office area -Stockroom -Sales -Fastbreak Night 2 ALT -Dethatching -5.2 Strip Service -Janitorial Service 2X -Additional Wax -Additional Strip -Other -Strip Complete Exec20 -Strip Complete Exec -Supplies -STRIP CL -SCRUB AW -STRIP RM -STRIP DS -STRIP EX -Relocation -New Store -Buff Complete -Scrub Complete -Strip Complete -Porter Service -"Construction Sweep, Scrub, and Buff" -RLHDR -Windows Ext -Windows -Wood Cleaning Service -Detail Baseboards Expense Code: 294 -White Board Cleaning -Vent Cleaning by service -Spot strip (SPOT) -Restroom fixture installs -Power Washing (Floor Care) -Pre Scrape -Pre Scrape (PO) -Full Strip and Wax (PO) -Front of store Strip and Wax (PO) -Deep Scrub and Recoat (PO) -Half Strip and Wax (PO) -NO Show Denied -No Show Credit -No Show -Full Strip and Wax -Front of Store Strip and Wax -Deep Scrub and Recoat -Chemicals -BJ's Wholesale Time and Material Rate per hr -BTC - Trip Charge -BJ's Wholesale Strip and Wax - Night 2 -BJ's Wholesale Strip and Wax - Night 1 -Loading Dock Pressure Washing Service - Night 2 -Loading Dock Pressure Washing Service - Night 1 -High Dusting Service - Night 2 -High Dusting Service - Night 1 -Front Pressure Washing Service - Night 2 -Front Pressure Washing Service - Night 1 -Ceiling Tile Service - Night 2 -Ceiling Tile Service - Night 1 -Strip and Wax bill to Construction -Adjustment -Spray Wax and Buff -Janitorial Service -New Store Scrub and Recoat -Spot Strip (SS) -Fastbreak Night 2 -Concrete service for New store billed to Construction -Windows Int and Ext -Strip and Wax has exception -Scrub and Recoat -Strip and Wax -TR - Trip Charge -Store not prepared for service -Restroom Cleaning -Fuel Surcharge -FD Supplied Strip and Wax -"Sweep, scrub, and buff" -Strip and Wax OFF Service -Concrete Floors -Extra Labor due to poor floor condition -Carpet Cleaning/Extraction -Scrub And Recoat has exception -Sweep Mop and Buff has exception -Service Fine -"S1 - Plow, Shovel, deice the parking lot, sidewalk & loading dock" -Light debris removal -Powerwashing -Fall Cleanup -Other -Parking Lot Striping Monthly -Parking Lot Sweeping Monthly -Recurring Landscape Maintenance Monthly -Parking Lot Striping -Spring Cleanup -Parking Lot Sweeping -Parking Lot Repair -Additional Tree Trimming -Additional Mulching Service -Irrigation Repair Service -Large Debris Removal -Integrated Pest Management -Irrigation Head Replacement -Retention/Detention Pond Service -Rough Turf Areas/Field Service -Plant Replacement Service -Core Aeration -Fertilization Service -Irrigation Audit -Irrigation Shut Down -Irrigation Start Up -Mulch Service -Recurring Landscape Maintenance diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv deleted file mode 100644 index c2e3ec704..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_ServiceType.Name.csv +++ /dev/null @@ -1,1788 +0,0 @@ -Emergency Receiving Heater -Parts/Material -Visual Merchandising -Closet -Home Prep -Wall Fixture -Assembly -Clean -Inspect -Clean -Condition Assessment -Lessen360 Fees -Parts/Material -Parts/Material -Parts/Material -Lockbox -SaaS Fees -Medical Equipment -Owned Storage Unit -Asset Replacement -Roof -Pool/Spa -Plumbing -Pest Control -Paint -Masonry/Fencing -Landscaping/Irrigation -Inspections -General Maintenance -Garage Door -Foundation -Flooring -Fireplace/Chimney -Fencing/Gates -Electrical -Janitorial -Appliances -Air Conditioning/Heating -Roof -Pool/Spa -Plumbing -Pest Control -Paint -Masonry/Fencing -Landscaping/Irrigation -Inspections -General Maintenance -Garage Door -Structural -Flooring -Fireplace/Chimney -Fencing/Gates -Electrical -Janitorial -Appliances -Air Conditioning/Heating -Management Fee -Cellular Fee -Sensor -General Construction -ATM Project -Storage -Clinic Mail -Badges -Showcase -Showcase -Transport -Other -Projects -Deficiency/Repair -Drawer  -Repair -Repaint -Remove -Install/Replace -Fees -Clean -Install/Replace -Fees -Repair -Remove -Install/Replace -Fees -Clean -Repair -Repaint -Remove -Install/Replace -Inspect -Fees -Clean -Fees -Repair -Fees -Fees -Fees -Inspect -Fees -Remove -Fees -Fees -Repair -Fees -Front TV Display (DFW) -Unit -Unit -Date of Batch -Standard -Air Compressor -Anti Fatigue Mat -Digital Displays -Bird Habitat -Small Animal Habitat -Reptile Habitat -Betta Endcap -ATM Preventative Maintenance -Vacant Building -Janitorial -Floor Cleaning -Water Extraction -Piercing Equipment -Overflowing -Clean -Clean -Clean -Fees -Fees -Inspect -Inspect -Inspect -Inspect -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Install/Replace -Remove -Remove -Remove -Remove -Remove -Remove -Remove -Repaint -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Repair -Water Meter -Siding -Floor Care -Yehuda Diamond Detection Device -Henny Penny Pressure Fryer -Henny Penny SmartHold Holding Cabinet -Henny Penny Heated Holding Cabinet -Henny Penny Countertop Holding Cabinet -Grease Interceptor -Credit -Vacant Building -Move In/Out Inspection -Facility Management Visit -Plumbing -Kaba Lock -Temp Units -Move Out Inspection -Dock Levelers -Railings -Concrete -Permavault -Inspection -Video Doorbell -Survey Test -Produce Mister -IT Support -New Equipment Install -Dock Doors -Forklift -Industrial Fan -Survey -Dishwasher -Refrigerator -Eyecare Instruments -Well System -Sound Batting -FOM -Drive Thru -Junk Removal -Mini-Split -Parts/Materials -Waste Water Treatment -Broken -Environmental -COVID-19 -Pest Prevention -Unplanned Projects -Evac Station -Appliance Replacement -Replace -Repaint -Billing -Backflow -Preventative Maintenance -COVID-19 -Other -Interior Signage -Banners and Marketing -Exterior Signage -COVID-19 -Termite Prevention -Security Gate -Disinfection -Replace -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Evaluation -Doorbell -Door Lock -Hub -ADA Compliance -Handrail -Assess -Crispy Max -Landscape -Snow -Cash Safe -Phone Safe -Water Filtration -Bike Rack -Monthly Consumables Shipment -Day Porter -Additional Cleaning Services -Contracted Routine Services -Inspect -Inspect -Inspect -Inspect -Inspect -Summary -Repair -Remove -Repaint -Replace -Repair -Repaint -Replace -Repair -Remove -Repaint -Replace -Repair -Repair -Repaint -Repair -Remove -Repaint -Replace -Repair -Replace -Repair -Remove -Repaint -Replace -Repair -Replace -Repair -Repaint -Repair -Remove -Repaint -Replace -Repair -Repair -Remove -Replace -Repair -Remove -Repaint -Replace -Repair -Remove -Repaint -Replace -Repair -Repair -Remove -Repaint -Replace -Repair -Remove -Repaint -Replace -Repair -Repaint -Remove -Replace -Repair -Alarm system -GOI Beverage Coolers -Grab and Go -Beer Case -Three Door Beer Cooler -Egg Cases -Spot Boxes -Meat Walk In -Produce Walk In -Dairy/Deli Walk In -Deli Walk In -Dairy Walk In -Produce Case -Frozen Reach In -Frozen Coffin/Bunker -Deli Case -Meat Case -Salad Case -Produce Wet Rack -Kitty Cottage/Kennel -Kennel/Atrium -Pinnacle Unit -Gas Leak -Pallet Enclosure -Radon Mitigation -Soft Serve Machine -LED Interior Repair -LED Canopy Lighting -LED -Smash and Grab -Ultrasonic Machine -Steamer -Gem Scope -Fixture Installation -Towers -Towers -Showcase -Gates/Roll Doors -Spinners -Showcase -Posts -Payment -Shower Hose Bib -Ejector Pump -Retail Fixture -Railings -Lockers -Hand Edger -Edger Vacuum -Edger -Blocker -Tracer -Printer -Singularity -Line Dryer -Compressor -Oven -Coater -Chiller - Cylinders -Cylinder Machine -SGX -Eclipse Chiller -Eclipse -Warranty Fee -Leer Ice -Parts/Material -Alto Shaam Oven -Micromatic Dispenser -Electrical Survey -Wall Insulation -Recurring Maintenance -Post Move-in -Resident Orientation -Parts/Material -Parts/Material -Parts/Material -Sensor -Main controller -Lighting controller -RTU Controller -Violation/Fine -Project -Calibration -Water Filtration -Baking Oven -Soft Serve Machine -Hardening Cabinet -Blended Ice Machine -Quarterly -Tri-Annual -Annual -Hot Well - Cash Side -Hot Well - Office Side -Reach In Line 2 - Cash Stand -Reach In Line 1 - Office -Ware Washer -Bread Oven -Single Belt Toaster -Dual Belt Toaster -Multi-Hopper Sugar Machine -Sugar Machine -Dairy Machine -High Speed Oven -Hot Chocolate/Dunkaccino -Booster/RO Repair -High Volume Brewer -Iced Coffee Brewer -Coffee Grinder -Booster Heater -Keys -Storage Freezer -Meatwell Freezer -French Fry Freezer -Expeditor Station -Deli Cooler -Crescor Unit -Cooler -Wrap Station -Stove -Front Service Counter -Drive Thru Package Station -Display Glass -Headset System -Contracted Services -Miscellaneous Fee -Organics Container -Organics Pick-Up -Notification -Tilt Kettle -Other -Impact Doors -Exterior Violation -Building Violation -Stock Pot Stove -General -Dough Divider -Drive Thru -Vault -ATM - Signage of Vestibule -ATM - Signage of Unit -Credit -Preventative Maintenance -Signage Interior -Signage Exterior -ATM - Locks & Keys -ATM - Site Condition - Exterior -ATM - Presentation of Unit -ATM - Functionality of Unit -ATM - Site Condition - Interior -Emergency Services -Health & Safety -Kitchen Equipment -Fire Prevention -Recovery -Inspections -Site Hardening -Landlord Fee -Management Fee -Semi-Annual -Quarterly Service -Monthly Billing -Weekly Service -Daily Service -Emergency Access -Preventive Maintenance -Waste Pickup Fee -Exhaust Fan -Preventative Maintenance -Manual Transfer Switch -Automatic Transfer Switch -Alarm Bar -Storefront Tile -Metal Maintenance -Parking Services -ADA Chair Lift -Monitoring -Preventative Maintenance/Inspection -Pest Prevention -Backflow Preventer -Preventative Maintenance -Gas Booster -Emergency Lighting -Spinners -Showcase -Alarm Bar -EMS -Awning -Roof -Stove Top -Beer Bin -Plate Chiller/Freezer -Supply Line -Apron Sink -Survey -Cleaning -Stand Alone ATM Interior -Stand Alone ATM Exterior -Stand Alone ATM Unit Appearance -Stand Alone ATM Locks & Keys -Stand Alone ATM Functionality -Other -EMS Override -Blade -Exterior -Name Plate Install -People -Furniture -Equipment -Boxes / Crates -Art Work -Human Resources -Accounting -Environmental -Project - Unplanned -Project - Retail Projects -Project - Planned -Project - LOB Unplanned -Project - LOB Planned -Escort -Guard -Video Conferencing -Booking/Scheduling -A/V Equipment -Vaults -Teller Drawer -Safe Deposit Box -Safe -Night Drop -Digilock -Cleaning -ATM Unit Appearance -ATM Locks & Keys -ATM Interior -ATM Functionality -ATM Exterior -Secure Shred -Records Storage -Office Supplies -Office Equipment -Mail Delivery -Furniture -Courier -Coffee Services -Bottled Water -Background Music -Security Equipment -Knox Box -Furniture -Pharmacy Roll Door -High Electric Bill -Revolving Door -Sanitary Dispenser -Request New -Garbage Disposal -Cleaning -Supplies -Coffee/Tea Brewer -Shutters -Utility Notification - Miscellaneous -Utility Notification - Account Setup -Utility Notification - Account Closure -Interior Plants -Hang Items -Store closure -Utility -High Gas Bill -Handicap Signs -Security Services -Cook Line Reach In Cooler -Freshness Cooler -Big Dipper -Clamshell -Roll Gates -Ceiling Fan -Ceiling Fan -Roof Sign -Parapet Beams -Wood Beams -Display Pie Case -Cut Pie Case -Open Burners/Egg Burners -Drawer Warmer/Roll Warmer -Cabinet - Pretest Room Cabinet -Cabinet - Dr. Exam Desk w/Sink -Cabinet - Dr. Exam Upper Cabinet -Cabinet - Contact Lens Back Counter -Cabinet - Selling Station -Cabinet - Understock Mirror Cabinet -Cabinet - Understock Cabinet -Cabinet - Credenza -Cabinet - Cashwrap -Drawer - Dr. Exam Desk -Drawer - Contact Lens Table w/sink -Drawer - Contact Lens Back Counter -Drawer - Understock Cabinet -Drawer - Sit Down/Stand Up Dispense -Drawer - Credenza -Drawer - Selling Station -Drawer - Cashwrap -Cashwrap -Eye care display -Eye care wall station -Promotional signs -Windows Interior -Windows Exterior -Smoke Alarm -Storage Room Doors -Exterior Doors -XOM Mystery Shops -Wiring -Water Treatment -Water Leak -Water Filters -Wash -Verifone -VCR -Utility -USE Repairs -Underground Gas -Truck Stop Scale -Truck Stop Air/Water/VAC -Tank - Warning -Tank - Alarm -System - Warning -System - Alarm -Survey -Structure -Store Front Sign -Steamer -Splitter -Simmons Box -Sensor -Security System Relocation -Security System -Retail Automation -Remove/Relocate Equipment -Register -Proofer -Project -POS/Nucleus/Passport/Ruby -POS -POS -Pole Sign -Pit -Partial Power Outage -Panic Device -Outlet -Out of Gasoline -Other -Open Air Case -Monitor -Money Order Machine -Money Counter -Menu Board -Lottery Machine -Line - Warning -Line - Periodic -Line - LLD -Line - Gross -Line - Annual -Line - Alarm -Lighting -Kiosk -Iced Coffee/Tea Machine -Hot Coffee Machine -HES Work -Healy - Warning -Healy - Alarm -Gasoline Equipment -Gas Tank Monitor - VR -Gas Tank Monitor -Gas Pumps/Equip/Other -Gas Pumps/Equip/Dispensing -Gas Island -Gas Hazard/Clean-Up -Gas Canopy Damage -Gas Accessories -Fuel -Frozen Carbonated Beverage Machine -Freestyle Unit -Fountain Dispenser -Food Equipment -Exterior Fire Extinguisher -Espresso -Equipment -Environmental Testing -EMS -Dryer -Disputes -Discretionary/Market Charge -Cup Holders -Credit/Debit/EBT -Creamer -Counter Top -Copier -Construction -Compressor -CO2 Monitor -Chemicals -Cappuccino -Canopy Signage -Bullock Interface -Brushes/Sprayer -Breaker -BIR -Beverage Equipment -Bay -Back Office -AQIP -"Applications, Software and Portal" -Air/Water/VAC -A- Inspection Notices -Paper Shredding Services -New Equipment Install -New Equipment Install -New Equipment Install -New Equipment Install -UChange Locks -Fitting Room Doors -Fitting Room Doors -Soap Dispenser -Vacuum -Garment Steamer -Food Truck -Not Working -Self - Serve -Carousel -Expansion Joints -Smoke Evacuation -Parking Deck -Cooling Tower -Split Systems -Taco Bar -Range -Steam Table -Indoor Playground Equipment -Combi Oven R/O -EMS -Powerwashing -Parking Lot Sweeping -Debris Removal -Other -Entry Gates -Overhead Doors -Other -Procare -Pool Deck -Tub/Tub Surround/Shower Surface -Glass Enclosure/Shower Door -Water Intrusion -Structural -Interior - Trim/Baseboard -Discoloration -Bath Accessories -Washer -Wall Oven -Natural Disaster -CO Detector -Vents -VI Monitor -Bullet Resistent Enclosure -Door -Video Loss Pump -Burglar Alarm -Devices -System Down -DVR -7-Eleven Parts -Access Control System -Pressure Washer -Deionized Water System -Fire Door -Water Treatment -Humidification System -Building Automation -Boilers -Scales -Expo Line Cold Rail -Bar Refrigerator -Ice Bin/Ice Chest -Bar Ice Cream Freezer -Glass Chiller -Bottle Chiller -Cold Well -Back Door -Steamer -Hot Well -Oven/Range -Bag Sealer -Warming Drawer -CharBroiler -Wallpaper -Wine Dispenser -Space Heater -Security Cage Door -Dumpster Gate/Door -Fire Exit Door -To Go Door -Back Door -Mechanical Room -Informational Only -Reach In Freezer -Handwash Sink -Woodstone Oven -Floor Mixer -Point Central -RTU - New Unit -Produce Mister -WIC Upgrades -UST -Testing Repairs -Sump Inspection -Stand Alone -Sales Tour -Retest -Rest PM -Rapid Eye Cameras -Quality Assurance -Pre-Inspection -Power Washing -Phone Lines -Payspot -Passbox -Other -Notice Of Violation -Not Working/Broken/Damaged -New Equipment -Leak Detection -Kiosk -Inventory Variance -Inspection -Hot Dispenser -Heater -Hanging Hardware Replacement -Gas TV -Fore PM -EPOS -Electronic Safes -Divestment -Dispenser Calibration -Dispenser -Digital Media -Diamond Sign Relamp -Construction Walk-Thru -Cold Dispenser -Ceiling Inspection -Card Processing Network -Canopy Sealing -BOS -Bathroom Upgrades -Back PM -Automated Inventory Reconciliation -ATM -ATG -Alternative Fuels CNG -Alternative Fuels -Equipment -Electric Strikes -Exterior Lighting -Repairs -Building Cabinets -Bulk Ice Freezer -Temperature Taker -Tablet -Sales Floor -Prep & Temp -ITD Printer -Equipment -Walls -Ceiling -Exterior Structure -Inspection -Built In Safe -Floor -Price Sign -Preventative Maintenance -General Plumbing -Emergency -Critical -Turn Assignment -IT Equipment -PA/Music System -Fixture -Kiosk -Registers -Time Clock -Open Top Containers -Storage Containers -Other -Mold Testing -Barriers and Asset Protection -Wall Paneling -Walk Off Mats -Fire Riser -Roof Ladder -Roof Hatch -Recessed Floor Sink -Inspection -Parts Washer -Vending -Uniforms -Shipping -Safety Equipment -Rags -Interior Plants -Fire Extinguisher Cabinet -Fire Pump House -Pit -Paint Booth Cabin -Motor -Light Fixture -Filters -Fan -Ductwork -Doors -Controls -Burner Issue -Belts -Bearings -Airflow -Safe -Floor Mat -Water System -Popcorn Machine -Coffee Maker -Handyman -Asset Tagging -Picker Lift -Hi-Low Lift -Crane/Hoist -Chiller -Storm damage -Delivery truck impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Storm damage -Delivery truck impact -Car impact -Automatic Doors -Exterior Doors -Cage Door -To-Go Doors -Accent Border Lighting -Salsa/Chip Cooler -Salsa Cooler -Ice Cream Freezer -Staging Cooler -Dressing Cooler -Lettuce Crisper/Cooler -Reach Ins - Pre-Impinger Protein Cooler -Reach Ins - Flat Top Drawer Cooler -Reach Ins - Zone 3 Dessert Cooler -Reach Ins - Zone 3 Sald Nacho Cooler -Reach Ins - Zone 3 Staging Cooler -Reach Ins - Zone 3 Cooler -Reach Ins - Zone 2 Staging Cooler -Reach Ins - Zone 2 Expo Cooler -Reach Ins - Zone 1 Cooler -Reach Ins - Fry Station Freezer -Reach Ins - Fry Batter Station Right -Reach Ins - Fry Batter Station Left -Patio Mister System -Pest Repair/Prevention -Combi/Convection Oven -Tortilla Grill/Press -Chip Warmer Cabinet -Bun Toaster -Heat Lamps -Instatherm/Cheese Melter -ACT Holding Bin -Kitchen Hoods - Other -Kitchen Hoods - Prep -Kitchen Hoods - Fry -Kitchen Hoods - Main -Conveyor Fed Impinger Oven/WOW -Conveyor Fed Oven - CTX -Glass Chiller -Bottle Chiller -Bar Margarita Cooler -Remote Draw Cooler -Keg Cooler -Beer System -Remodel -Stainless Steel -Decorative Fountains -Awnings -Booster Heater -Panini Press -Waste Illegal Dumping -Waste Holiday/Planner/Reset -Waste Fixtures & Equipment -Billing Issue -Locks -Waste -Recycling -Baler/Compactor -Slab Issue -Settlement Cracks -Kitty Cottage/Kennel/Cage -Salon Grooming Table -Salon Dryer -Amigo Cart -Salon Dryer Hanger -Playroom Wall/Gate -Pallet Racking -Kitty Cottage -Kennel/Cage -Hose Cubby -Single Person Lift -Pallet Jack -Forklift -Shopping Cart -Interior Signs -EAS Anti-Theft System -Camera -Safe -Alarm -Refrigerator -Raw/Natural Frozen Dog Food -Pinnacle Freezer -PetsHotel Mini Fridge -Pet Care Freezer -Ice Cream Machine -Sump Pump -Sink -Salon Shampoo Proportioner -Trench Drains -Blue Canister Filter -Eye Wash Station -Restroom Urinal -Floor/Sink Drains -Hose Reel -Inspection -Fleas/Ticks -Roll Door -Pad Lock -Keypad Lock -Interior Doors -Floor Care -Chemical Spill -Chemical Disposal -Bio Hazard Clean-Up -Regulatory Agency Inspection -Extra Pick-Up Needed -Hazardous Material Pick Up -Oops Station -Anchor/Mount/Tether -Dock/Levelers -Parking Lot Cart Corral -In-Store Cart Corral -Escalator -Cove Base -Acrovyn Wall -Fireplace -Wall Tile -Floor Scrubber -Sump/Sensors -New System -UV Bank/Bulbs Burnt Out -UV Bank Leaking -Tank Lighting Burnt Out -Tank Damaged/Leaking -Rack Rusting -Oxygen Generator -No Power -Heater -Fluidized Bed -Flowmeter -Flooding -Fish Ladder -Drain Clog -Cycron Vessel/Treatment -Control Panel Lights -Control Panel Computer Issue -Comet System -Chiller -Battery Backup -Pump Not Working -Pump Making Noise -Plant Tank Issues -Parking Lot Cart Corral -Doorbell -Generator -Video Equipment -Interior Doors -Bag Holder -Conveyor -Donation Box -Lockbox -Checkstand -Desk -Vending Equipment -Sanitizer -Detergent Dispenser -Broken Fixture -Door/Lock Issue -Damaged/Broken Glass -Electrical/Lighting Issue -Fan Issue -Interior Filters -Move-Out -Move-In -Housing Inspection -Turn Assignment -Mop Sink -Reverse Osmosis -Humidifier -Grading -Inspection -Asset Survey -Inventory Survey -Shampoo Bowl -Automatic Doors -Compressed Air -Door Drop -Storage Room Doors -Bay Door -LED Canopy Lighting -LED Road Signs -LED Building Sign -LED Canopy Lighting -LED Interior Repair -LED -Refueling Doors -Menu Board -Sandwich Station -Upright Bun/Fry Freezer -Cheese Warmer -Frosty Machine -Mop Sink -Hand Sink -Dishwasher -Lemonade Bubbler -Chili Cooker -Chili Wells -MPHC Drawer -Fry Dump Station -Bun/Bread Warmer -Tea Machine -Toaster -Front Counter -Leak Detection -Plaster Issue -Swamp Cooler -Drive Thru -Prep Table -Water Filtration -Cheese Machine -Shake Machine -Air Hot Holding Cabinet -Air Fry Station/Dump -Cook'n Hold Pod -Contact Toaster -Beef Holding Cabinet -Front Line Partition -Drive Thru -Siding -Pool Screens -Gophers -"Birds, Bats, Racoons & Squirrels" -Wasps and Bees -"Snakes, Lizards & Other Pests" -Bed Bugs -Wasps/Bees -Raccoons/Squirrels -Move-In Orientation -Monument -Pylon -Roof Hatch -Gasket -Neon Signs/Lighting -Rubber Flooring -Cook/Hold Cabinets/Altosham -Salamander Toaster -Ups - Battery Inspection -Supplemental AC Units -Server Door -Security Door -Egress Doors -High Humidity -Point Central -Demolition -Inspection -Outlet/Switch -Exterior -Exterior - Trim -Exterior - Siding -Microwave -Demolition -Install only -Lifts -Elevator -Carwash -Lifts -Car Impact -Lifts -Building Sign -Canopy Lighting -Janitorial Supplies -Janitorial - Shop Floor Cleaning -Janitorial - Night Cleaning -Air Compressors -Lifts -Trash Removal & Recycling -Office Furniture -Other Shop Equip -Tire Alignment -Paint Booths -Shop Maint Equip -Air Hoses & Reels -High Speed Doors -Furniture -Carpet -Furniture -Fire Alarm -Elevator -Bollards -Elevator -Window Glass -Roll Gates/Grilles -High Speed Doors -Elevator -Rodent Repair/Prevention -Pipe Leak -Security Alarm -Monument Sign -Walk In Beer Cooler -Walk In Freezer -Walk In Cooler -Restroom -Shelving -Server Station -Bar -On Demand IT -Audio Visual -Bulk Oil Recycling System Maintenance -Reach Ins-upright -Soda Dispensers-beverage machine FOH/DT -Hostess Stands -Locks -Powersoak -Cheese Melter -Under Counter Freezer -Water Softener/Treatment -Receiving Doors-service Door -Soda Dispensers/Ice Machine -Cook And Hold Cabinets-Heated cabinets -Cans/Spot/Track Lights/Pendant -Accent Lighting -Receiving Doors- Service door -Thermostat/Energy Management System -Roof Top Unit -Restroom Ventilation/Exhaust Fan -Controls -Condensing Unit -Parts -Entrance Doors -Cooler -Water Softener -Waffle Iron -Under Counter Refrigerator -Trash Receptacle -Trash -Track Or Grid -Track Lights -Toaster Four Slice -Toaster Conveyor -Three Compartment Sink -Suppression Systems -Supply Diffusers -Steam Table/Soup Warmer -Spot Lights -Soup Warmer -Shed/Outbuilding -Sewer Line -Sewage Pump -Septic System -Salad Unit -Safe -Roof -Return Grills -Refrigerated Drawers -Prep Sink -Plants -Picnic Table -Pendant Lights -Patio Furniture -Partition -Paneling -Novelty Case/Coffin Freezer -Multi Mixer -Mixing Valve -Mirrors -Milk Dispenser -Metal -Manhole -Make Up Air -Lift Pump -Ladder -Kitchen Spray Nozzle -Kitchen Sink -Kitchen Plumbing -Kitchen Doors -Kitchen Doors -Kitchen -Incandescent -Ice Tea Dispenser -Ice Cream Fountain With Syrup Rail -Ice Cream Dipping Cabinet -Host Stands -Hood Fire Suppression System -Grease Containment System -Grease Containment -Gooseneck -Furniture -Fudge Warmer -FRP Paneling -Friendz Mixer -Friendz Dipping Cabinet -French Fry Warmer -Fountain -Food Warmers/Heat Lamp -Flooring -Floor Tile -Fixtures -Exhaust Hood -Exhaust Fan Restroom -Exhaust Fan Mechanical Room -Exhaust Fan Dish Room -Exhaust Fan -Ductwork -Dry Storage Shelving -Doorbell -Display Freezer -Dipping Cabinets -Dipper Well -Diffuser -Desk -Deep Cleaning Service -Décor/Artwork -Damper -Cupola -Condiment/Syrup Rail -Communication Wiring -Commissary -Columns -Coffee Satellites -Coach Lights -Chest Freezer -Chandelier -Ceiling Fans -Cash Drawer -Caramelize Toaster -Cans -Broiler -Booths -Blinds/Shades -Benches -Bag-N-Box Racks -Baby Changing Station -Audio/Visual -Air Curtain -Lockout/Eviction -HOA/City Inspection -Section 8 Inspection -Cleaning -Termites -Stairs/Stair Railing -Rodents/Large Pests -Ants/Small Pests -Hand Dryer -Ceiling Fan -HOA -City -Other -Move Out Inspection -Move In Inspection -Walkway -Driveway -Rx Drive Thru Intercom -Rx Drive Thru Drawer -Rx Drive Thru Bell / Bell Hose -Roll door -Other -Other -Other -Other -Other -Other -Women'S Changing Room Toilet -Women'S Changing Room Shower -Women'S Changing Room Shower -Water Softener -Wall Repair -Stop Sign -Revolving Doors -Refrigeration -Ramp -Pressure Washing -Pedithrone -Other -Mirror -Men'S Changing Room Toilet -Men'S Changing Room Shower -Men'S Changing Room Shower -Lighting -Laundry Room -Kitchen Equipment Quarterly Service -Janitorial -Ice Machine -Hoods -Grease Trap -Entrance Doors -Duct Work -Drain Cleaning -Digilock -Coolers/Freezers -Contract Maintenance -Boiler -Backflow -Air Curtain -Transition -Tle Stairs -Restroom Stall Door -Restroom Partitions -"Restroom Fixtures, Non Plumbing" -Racking -Quarry Tile -Outside Garden Irrigation -Interior Roof Drain -Guard Rails -Grease Trap -Flag Pole -Epoxy -Drain Grates -Cove Base -Column -Changing Station -Changing Room Door -Ceramic Tile -Bollard -Baseboard -Move Out Inspection -Move In Inspection -Rails -Drywall -Ceiling -Bathroom Fan -Window glass -Stockroom Doors -Stockroom Doors -Roll gates/grilles -Roll door -Restroom Doors -Restroom Doors -Receiving Doors -Receiving Doors -Parking lot/Security lighting -Panic Device -Panic Device -Other Door -Other Door -Other -Other -Other -Other -Office Doors -Office Doors -Interior Lighting -Interior electrical -Intercom -Exterior electrical -Entrance Doors -Entrance Doors -EMS -Door glass -Directional Signage -Canopy lighting -Other -Other -Screens -Coverings/Blinds -Roofing Material -Gutters -Service -Fencing/Gate/Locks -Equipment -Tub/Shower/Sink -Toilet -Interior Lines/Fixtures -Hot Water Heater -Glass Enclosure -Gas Lines -Exterior Lines/Fixtures -Bath Accessories -Interior -Garage -Exterior -Drywall -Cabinets -Shutters -Mailbox -Gates -Fencing -Brick/Concrete -Pest Control -Other -Fireplace -Cleaning -Trees/Plants -Irrigation -Door -Accessories/Opener -Wood Laminate -Vinyl -Vertical Tile (Bath/Kitchen) -Tile -Stairs/Stair Railing -Carpet -Wiring -Smoke & Carbon Monoxide Alarms -Outlet -Interior Lighting -Exterior Lighting -Ceiling Fan -Windows -Structural -Interior - Trim/Baseboard -Interior - Hardware/Locks -Interior - Doors -Exterior - Hardware/Locks -Exterior - Doors -Countertops -Cabinets -Washer/Dryer -Vent Hood -Refrigerator -Range/Oven -Microhood -Garbage Disposal -Dishwasher -Cooktop -Unit -Thermostat -Backflow -Supression Systems -Sewer Backup -Roof Hatch -Rolling Inventory -Restrooms -Receiving Dock -Other -Other -Exit Doors -Entrance Door -Dark Store -Pressure Washing -Other -Knife Sharpening -Kitchen Hoods -Grease Traps -Conveyor Fed Oven -SIM -Cleaning -Walk Ins -Tilt Skillet -Soda Dispensers -Smoker -Slicer -Salad Bar -Rethermalizer -Reach Ins -Plate Chiller/Freezer -Oven -Mixer -Microwave Oven -Make Tables -Ice Machines -Hot Well/Soup Well -Grill/Griddle/Flat Top -Fryer -Food Processor/Blender -Espresso Machine -Dishwasher - No conveyor -Dishwasher - Conveyor Belt -CVAP Cook and Hold Cabinets/Proofer/Retarder -Cook and Hold Cabinets -Conveyor Fed Pizza Oven -Coffee Maker -Beer System -Wood -Wildlife -Washer -VCT -Unit Repair -Unit Refrigerator -Unit number Sign -Security Vehicle -Sales HVAC -Safety Warning Sign -Roof Leak -Rodents -Road Sign -Roaches -Repair - Spa -Repair - Pool -Repair - Equipment -Press -Pickup -Passenger van -Other flying Insects -Other crawling insects -Other -Not Operating -Marble -Leak - single unit -Leak - Multiple Units -Ironer -Gutters -Guest Unit HVAC -Granite -Golf Cart -Freight Van -Folder -Fire Suppression System -Fire Alarm System -F&B HVAC -Entry Doors -Dryer -Downspouts -Directional Sign -Concrete -Closet Doors -Chemistry Balancing -Check In Center HVAC -Ceramic Tile -Carpet -Building Sign -Birds/Bats -Bicycle/Tricycle -Bees/Wasps -Bedroom Doors -BedBugs -Bathroom Doors -Ants -Windows -Other -Wood -Carpet (Obsolete) -VCT -Concrete -Exterior - Other -Walls -Storm Preparation -Storm damage -Sidewalks -Pest Repair/Prevention -Retention Ponds -Remediation -Parking lot -Painting -Other -Light Poles -Irrigation -Fencing -Elevator -Dumpster Enclosure -Drywall -Directional Signage -Delivery truck impact -Conveyor -Ceiling Tile -Ceiling -Car impact -Canopy -Bollards -Baler/Compactor -Window glass -Water heater -Water fountain -Under canopy -Stockroom Doors -Roof Leak -Roll gates/grilles -Roll door -Rodents -Road sign -Restroom Toilet -Restroom Sink -Restroom Doors -Receiving Doors -Parking lot/Security lighting -Panic Device -Other Pests -Other Door -Other -Office Doors -No water -Mop sink -Locks -Interior lighting -Interior electrical -Inspection -High Water Bill -High Electric Bill -Gutters -Floor drains -Fire System monitoring -Fire sprinkler -Fire Extinguisher -Fire Alarm -Exterior hose bib/water meter -Exterior electrical -Entrance Doors -EMS -Downspouts -Door glass -Directional -Canopy lighting -Building sign -Birds/bats -Backflow test -Reddy Ice -Pepsi -Good Humor -Freezer -Cooler -Coke -Cages -EMS -Temporary Units -Other -Vandalism -Water leak -Making noise -No airflow -Not heating -Not cooling -Floor Care -IVR Fine -Snow -Striping -Landscaping diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv b/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv deleted file mode 100644 index 0e31e1407..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/data/fuzzySharp/vocabulary/data_WOStatus.Name.csv +++ /dev/null @@ -1,39 +0,0 @@ -Pending Schedule -Pending Dispatch -Pending Vendor Acceptance -Scheduled -On Site -Pending Vendor Quote -Vendor Quote Submitted -Pending Client Approval -Client Quote Rejected -Client Quote Approved -Return Trip Needed -Work Complete Pending Vendor Invoice -Vendor Invoice Received -Pending Invoice Approval -Vendor Invoice Rejected -Completed And Invoiced -Vendor Paid -Closed -Resolved Without Invoice -Resolved Without Dispatch -Cancelled -Work Order Avoidance -Pending Self-Help Approval -Self-Help Approved -Deferred -Landlord Resolved -Vendor Quote Rejected -Self-Help Rejected -Billed - In Progress -Billed -Missed -Rescheduled -Completed -Pay to Affiliate -Expired -Void -Log Refusal -Service Pool -Pending Invoice Tax From 4f9d93e6148e9269b99478c6012f858c428deed5 Mon Sep 17 00:00:00 2001 From: Haiping Chen Date: Mon, 10 Nov 2025 11:58:30 -0600 Subject: [PATCH 5/6] adjust abstraction for fuzzysharp --- .../Arguments/TextAnalysisRequest.cs | 52 ----- .../FuzzSharp/IVocabularyService.cs | 9 - .../FuzzSharp/Models/TextAnalysisResponse.cs | 31 --- .../Knowledges/IPhraseCollection.cs | 7 + .../Knowledges/IPhraseService.cs | 12 + .../Arguments/TextAnalysisRequest.cs | 53 +++++ .../FuzzSharp/INgramProcessor.cs | 0 .../FuzzSharp/IResultProcessor.cs | 0 .../FuzzSharp/ITextAnalysisService.cs | 0 .../FuzzSharp/ITokenMatcher.cs | 0 .../FuzzSharp/Models/FlaggedItem.cs | 1 + .../FuzzSharp/Models/TextAnalysisResponse.cs | 31 +++ .../FuzzySharpPlugin.cs | 34 +-- .../Services/CsvPhraseCollectionLoader.cs | 188 +++++++++++++++ .../Services/TextAnalysisService.cs | 216 +++++++++--------- .../Services/VocabularyService.cs | 186 --------------- 16 files changed, 417 insertions(+), 403 deletions(-) delete mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs delete mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs delete mode 100644 src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseCollection.cs create mode 100644 src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseService.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs rename src/{Infrastructure/BotSharp.Abstraction => Plugins/BotSharp.Plugin.FuzzySharp}/FuzzSharp/INgramProcessor.cs (100%) rename src/{Infrastructure/BotSharp.Abstraction => Plugins/BotSharp.Plugin.FuzzySharp}/FuzzSharp/IResultProcessor.cs (100%) rename src/{Infrastructure/BotSharp.Abstraction => Plugins/BotSharp.Plugin.FuzzySharp}/FuzzSharp/ITextAnalysisService.cs (100%) rename src/{Infrastructure/BotSharp.Abstraction => Plugins/BotSharp.Plugin.FuzzySharp}/FuzzSharp/ITokenMatcher.cs (100%) rename src/{Infrastructure/BotSharp.Abstraction => Plugins/BotSharp.Plugin.FuzzySharp}/FuzzSharp/Models/FlaggedItem.cs (97%) create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/TextAnalysisResponse.cs create mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/CsvPhraseCollectionLoader.cs delete mode 100644 src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs deleted file mode 100644 index 32354406e..000000000 --- a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Arguments/TextAnalysisRequest.cs +++ /dev/null @@ -1,52 +0,0 @@ - -namespace BotSharp.Abstraction.FuzzSharp.Arguments -{ - public class TextAnalysisRequest - { - /// - /// Text to analyze - /// - [Required] - [JsonPropertyName("text")] - public string Text { get; set; } = string.Empty; - - /// - /// Folder path containing CSV files (will read all .csv files from the folder or its 'output' subfolder) - /// - [JsonPropertyName("vocabulary_folder_name")] - public string? VocabularyFolderName { get; set; } - - /// - /// Domain term mapping CSV file - /// - [JsonPropertyName("domain_term_mapping_file")] - public string? DomainTermMappingFile { get; set; } - - /// - /// Min score for suggestions (0.0-1.0) - /// - [JsonPropertyName("cutoff")] - [Range(0.0, 1.0)] - public double Cutoff { get; set; } = 0.80; - - /// - /// Max candidates per domain (1-20) - /// - [JsonPropertyName("topk")] - [Range(1, 20)] - public int TopK { get; set; } = 5; - - /// - /// Max n-gram size (1-10) - /// - [JsonPropertyName("max_ngram")] - [Range(1, 10)] - public int MaxNgram { get; set; } = 5; - - /// - /// Include tokens field in response (default: False) - /// - [JsonPropertyName("include_tokens")] - public bool IncludeTokens { get; set; } = false; - } -} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs deleted file mode 100644 index 63210bed2..000000000 --- a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IVocabularyService.cs +++ /dev/null @@ -1,9 +0,0 @@ - -namespace BotSharp.Abstraction.FuzzSharp -{ - public interface IVocabularyService - { - Task>> LoadVocabularyAsync(string? folderPath); - Task> LoadDomainTermMappingAsync(string? filePath); - } -} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs b/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs deleted file mode 100644 index af6bcab83..000000000 --- a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/TextAnalysisResponse.cs +++ /dev/null @@ -1,31 +0,0 @@ - -namespace BotSharp.Abstraction.FuzzSharp.Models -{ - public class TextAnalysisResponse - { - /// - /// Original text - /// - [JsonPropertyName("original")] - public string Original { get; set; } = string.Empty; - - /// - /// Tokenized text (only included if include_tokens=true) - /// - [JsonPropertyName("tokens")] - [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public List? Tokens { get; set; } - - /// - /// Flagged items (filter by 'match_type' field: 'domain_term_mapping', 'exact_match', or 'typo_correction') - /// - [JsonPropertyName("flagged")] - public List Flagged { get; set; } = new(); - - /// - /// Processing time in milliseconds - /// - [JsonPropertyName("processing_time_ms")] - public double ProcessingTimeMs { get; set; } - } -} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseCollection.cs b/src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseCollection.cs new file mode 100644 index 000000000..71823515d --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseCollection.cs @@ -0,0 +1,7 @@ +namespace BotSharp.Abstraction.Knowledges; + +public interface IPhraseCollection +{ + Task>> LoadVocabularyAsync(); + Task> LoadDomainTermMappingAsync(); +} diff --git a/src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseService.cs b/src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseService.cs new file mode 100644 index 000000000..6165f67da --- /dev/null +++ b/src/Infrastructure/BotSharp.Abstraction/Knowledges/IPhraseService.cs @@ -0,0 +1,12 @@ +namespace BotSharp.Abstraction.Knowledges; + +public interface IPhraseService +{ + /// + /// Search similar phrases in the collection + /// + /// + /// + /// + Task> SearchPhrasesAsync(string collection, string term); +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs new file mode 100644 index 000000000..aab632d1e --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs @@ -0,0 +1,53 @@ +using System.ComponentModel.DataAnnotations; +using System.Text.Json.Serialization; + +namespace BotSharp.Abstraction.FuzzSharp.Arguments; + +public class TextAnalysisRequest +{ + /// + /// Text to analyze + /// + [Required] + [JsonPropertyName("text")] + public string Text { get; set; } = string.Empty; + + /// + /// Folder path containing CSV files (will read all .csv files from the folder or its 'output' subfolder) + /// + [JsonPropertyName("vocabulary_folder_name")] + public string? VocabularyFolderName { get; set; } + + /// + /// Domain term mapping CSV file + /// + [JsonPropertyName("domain_term_mapping_file")] + public string? DomainTermMappingFile { get; set; } + + /// + /// Min score for suggestions (0.0-1.0) + /// + [JsonPropertyName("cutoff")] + [Range(0.0, 1.0)] + public double Cutoff { get; set; } = 0.80; + + /// + /// Max candidates per domain (1-20) + /// + [JsonPropertyName("topk")] + [Range(1, 20)] + public int TopK { get; set; } = 5; + + /// + /// Max n-gram size (1-10) + /// + [JsonPropertyName("max_ngram")] + [Range(1, 10)] + public int MaxNgram { get; set; } = 5; + + /// + /// Include tokens field in response (default: False) + /// + [JsonPropertyName("include_tokens")] + public bool IncludeTokens { get; set; } = false; +} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/INgramProcessor.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/INgramProcessor.cs similarity index 100% rename from src/Infrastructure/BotSharp.Abstraction/FuzzSharp/INgramProcessor.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/INgramProcessor.cs diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IResultProcessor.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/IResultProcessor.cs similarity index 100% rename from src/Infrastructure/BotSharp.Abstraction/FuzzSharp/IResultProcessor.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/IResultProcessor.cs diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITextAnalysisService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/ITextAnalysisService.cs similarity index 100% rename from src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITextAnalysisService.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/ITextAnalysisService.cs diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITokenMatcher.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/ITokenMatcher.cs similarity index 100% rename from src/Infrastructure/BotSharp.Abstraction/FuzzSharp/ITokenMatcher.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/ITokenMatcher.cs diff --git a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/FlaggedItem.cs similarity index 97% rename from src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs rename to src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/FlaggedItem.cs index 1d9f0fc9b..8dc547d48 100644 --- a/src/Infrastructure/BotSharp.Abstraction/FuzzSharp/Models/FlaggedItem.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/FlaggedItem.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; namespace BotSharp.Abstraction.FuzzSharp.Models { diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/TextAnalysisResponse.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/TextAnalysisResponse.cs new file mode 100644 index 000000000..131a53b49 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Models/TextAnalysisResponse.cs @@ -0,0 +1,31 @@ +using System.Text.Json.Serialization; + +namespace BotSharp.Abstraction.FuzzSharp.Models; + +public class TextAnalysisResponse +{ + /// + /// Original text + /// + [JsonPropertyName("original")] + public string Original { get; set; } = string.Empty; + + /// + /// Tokenized text (only included if include_tokens=true) + /// + [JsonPropertyName("tokens")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public List? Tokens { get; set; } + + /// + /// Flagged items (filter by 'match_type' field: 'domain_term_mapping', 'exact_match', or 'typo_correction') + /// + [JsonPropertyName("flagged")] + public List Flagged { get; set; } = new(); + + /// + /// Processing time in milliseconds + /// + [JsonPropertyName("processing_time_ms")] + public double ProcessingTimeMs { get; set; } +} \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs index c50cd5108..412ddfa9c 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzySharpPlugin.cs @@ -1,4 +1,5 @@ using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.Knowledges; using BotSharp.Abstraction.Plugins; using BotSharp.Plugin.FuzzySharp.Services; using BotSharp.Plugin.FuzzySharp.Services.Matching; @@ -6,24 +7,23 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -namespace BotSharp.Plugin.FuzzySharp +namespace BotSharp.Plugin.FuzzySharp; + +public class FuzzySharpPlugin : IBotSharpPlugin { - public class FuzzySharpPlugin : IBotSharpPlugin - { - public string Id => "379e6f7b-c58c-458b-b8cd-0374e5830711"; - public string Name => "Fuzzy Sharp"; - public string Description => "Analyze text for typos and entities using domain-specific vocabulary."; - public string IconUrl => "https://cdn-icons-png.flaticon.com/512/9592/9592995.png"; + public string Id => "379e6f7b-c58c-458b-b8cd-0374e5830711"; + public string Name => "Fuzzy Sharp"; + public string Description => "Analyze text for typos and entities using domain-specific vocabulary."; + public string IconUrl => "https://cdn-icons-png.flaticon.com/512/9592/9592995.png"; - public void RegisterDI(IServiceCollection services, IConfiguration config) - { - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - } + public void RegisterDI(IServiceCollection services, IConfiguration config) + { + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); } } diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/CsvPhraseCollectionLoader.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/CsvPhraseCollectionLoader.cs new file mode 100644 index 000000000..eb6d4243b --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/CsvPhraseCollectionLoader.cs @@ -0,0 +1,188 @@ +using BotSharp.Abstraction.FuzzSharp; +using BotSharp.Abstraction.Knowledges; +using BotSharp.Core.Infrastructures; +using CsvHelper; +using CsvHelper.Configuration; +using Microsoft.Extensions.Logging; +using System.Globalization; +using System.IO; + +namespace BotSharp.Plugin.FuzzySharp.Services; + +public class CsvPhraseCollectionLoader : IPhraseCollection +{ + private readonly ILogger _logger; + + public CsvPhraseCollectionLoader(ILogger logger) + { + _logger = logger; + } + + [SharpCache(60)] + public async Task>> LoadVocabularyAsync() + { + string foldername = ""; + var vocabulary = new Dictionary>(); + + if (string.IsNullOrEmpty(foldername)) + { + return vocabulary; + } + + // Load CSV files from the folder + var csvFileDict = await LoadCsvFilesFromFolderAsync(foldername); + if (csvFileDict.Count == 0) + { + return vocabulary; + } + + // Load each CSV file + foreach (var (domainType, filePath) in csvFileDict) + { + try + { + var terms = await LoadCsvFileAsync(filePath); + vocabulary[domainType] = terms; + _logger.LogInformation($"Loaded {terms.Count} terms for domain type '{domainType}' from {filePath}"); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Error loading CSV file for domain type '{domainType}': {filePath}"); + } + } + + return vocabulary; + } + + [SharpCache(60)] + public async Task> LoadDomainTermMappingAsync() + { + string filename = ""; + var result = new Dictionary(); + if (string.IsNullOrWhiteSpace(filename)) + { + return result; + } + + var searchFolder = Path.Combine(AppContext.BaseDirectory, "data", "plugins", "fuzzySharp"); + var filePath = Path.Combine(searchFolder, filename); + + if (string.IsNullOrEmpty(filePath) || !File.Exists(filePath)) + { + return result; + } + + try + { + using var reader = new StreamReader(filePath); + using var csv = new CsvReader(reader, CreateCsvConfig()); + + await csv.ReadAsync(); + csv.ReadHeader(); + + if (!HasRequiredColumns(csv)) + { + _logger.LogWarning("Domain term mapping file missing required columns: {FilePath}", filePath); + return result; + } + + while (await csv.ReadAsync()) + { + var term = csv.GetField("term") ?? string.Empty; + var dbPath = csv.GetField("dbPath") ?? string.Empty; + var canonicalForm = csv.GetField("canonical_form") ?? string.Empty; + + if (term.Length == 0 || dbPath.Length == 0 || canonicalForm.Length == 0) + { + _logger.LogWarning( + "Missing column(s) in CSV at row {Row}: term={Term}, dbPath={DbPath}, canonical_form={CanonicalForm}", + csv.Parser.RawRow, + term ?? "", + dbPath ?? "", + canonicalForm ?? ""); + continue; + } + + var key = term.ToLowerInvariant(); + result[key] = (dbPath, canonicalForm); + } + + _logger.LogInformation("Loaded domain term mapping from {FilePath}: {Count} terms", filePath, result.Count); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error loading domain term mapping file: {FilePath}", filePath); + } + + return result; + } + + private async Task> LoadCsvFileAsync(string filePath) + { + var terms = new HashSet(StringComparer.OrdinalIgnoreCase); + + if (!File.Exists(filePath)) + { + _logger.LogWarning($"CSV file does not exist: {filePath}"); + return terms; + } + + using var reader = new StreamReader(filePath); + using var csv = new CsvReader(reader, new CsvConfiguration(CultureInfo.InvariantCulture) + { + HasHeaderRecord = false // No header in the CSV files + }); + + while (await csv.ReadAsync()) + { + // Read the first column (assuming it contains the terms) + var term = csv.GetField(0); + if (!string.IsNullOrWhiteSpace(term)) + { + terms.Add(term.Trim()); + } + } + + _logger.LogInformation($"Loaded {terms.Count} terms from {Path.GetFileName(filePath)}"); + return terms; + } + + private async Task> LoadCsvFilesFromFolderAsync(string folderName) + { + var csvFileDict = new Dictionary(); + var searchFolder = Path.Combine(AppContext.BaseDirectory, "data", "plugins", "fuzzySharp", folderName); + if (!Directory.Exists(searchFolder)) + { + _logger.LogWarning($"Folder does not exist: {searchFolder}"); + return csvFileDict; + } + + var csvFiles = Directory.GetFiles(searchFolder, "*.csv"); + foreach (var file in csvFiles) + { + var fileName = Path.GetFileNameWithoutExtension(file); + csvFileDict[fileName] = file; + } + + _logger.LogInformation($"Loaded {csvFileDict.Count} CSV files from {searchFolder}"); + return await Task.FromResult(csvFileDict); + } + + private static CsvConfiguration CreateCsvConfig() + { + return new CsvConfiguration(CultureInfo.InvariantCulture) + { + HasHeaderRecord = true, + DetectColumnCountChanges = true, + MissingFieldFound = null + }; + } + + private static bool HasRequiredColumns(CsvReader csv) + { + return csv.HeaderRecord is { Length: > 0 } headers + && headers.Contains("term") + && headers.Contains("dbPath") + && headers.Contains("canonical_form"); + } +} diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs index 961f9b1c8..36709e8eb 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs @@ -1,141 +1,141 @@ using BotSharp.Abstraction.FuzzSharp; using BotSharp.Abstraction.FuzzSharp.Arguments; using BotSharp.Abstraction.FuzzSharp.Models; +using BotSharp.Abstraction.Knowledges; using BotSharp.Plugin.FuzzySharp.Utils; using Microsoft.Extensions.Logging; using System.Diagnostics; -namespace BotSharp.Plugin.FuzzySharp.Services +namespace BotSharp.Plugin.FuzzySharp.Services; + +public class TextAnalysisService : ITextAnalysisService { - public class TextAnalysisService : ITextAnalysisService + private readonly ILogger _logger; + private readonly IPhraseCollection _vocabularyService; + private readonly INgramProcessor _ngramProcessor; + private readonly IResultProcessor _resultProcessor; + + public TextAnalysisService( + ILogger logger, + IPhraseCollection vocabularyService, + INgramProcessor ngramProcessor, + IResultProcessor resultProcessor) { - private readonly ILogger _logger; - private readonly IVocabularyService _vocabularyService; - private readonly INgramProcessor _ngramProcessor; - private readonly IResultProcessor _resultProcessor; - - public TextAnalysisService( - ILogger logger, - IVocabularyService vocabularyService, - INgramProcessor ngramProcessor, - IResultProcessor resultProcessor) - { - _logger = logger; - _vocabularyService = vocabularyService; - _ngramProcessor = ngramProcessor; - _resultProcessor = resultProcessor; - } + _logger = logger; + _vocabularyService = vocabularyService; + _ngramProcessor = ngramProcessor; + _resultProcessor = resultProcessor; + } - /// - /// Analyze text for typos and entities using domain-specific vocabulary - /// - public async Task AnalyzeTextAsync(TextAnalysisRequest request) + /// + /// Analyze text for typos and entities using domain-specific vocabulary + /// + public async Task AnalyzeTextAsync(TextAnalysisRequest request) + { + var stopwatch = Stopwatch.StartNew(); + try { - var stopwatch = Stopwatch.StartNew(); - try - { - // Tokenize the text - var tokens = TextTokenizer.Tokenize(request.Text); + // Tokenize the text + var tokens = TextTokenizer.Tokenize(request.Text); - // Load vocabulary - // TODO: read the vocabulary from GSMP in Onebrain - var vocabulary = await _vocabularyService.LoadVocabularyAsync(request.VocabularyFolderName); + // Load vocabulary + // TODO: read the vocabulary from GSMP in Onebrain + var vocabulary = await _vocabularyService.LoadVocabularyAsync(); - // Load domain term mapping - var domainTermMapping = await _vocabularyService.LoadDomainTermMappingAsync(request.DomainTermMappingFile); + // Load domain term mapping + var domainTermMapping = await _vocabularyService.LoadDomainTermMappingAsync(); - // Analyze text - var flagged = AnalyzeTokens(tokens, vocabulary, domainTermMapping, request); + // Analyze text + var flagged = AnalyzeTokens(tokens, vocabulary, domainTermMapping, request); - stopwatch.Stop(); - - var response = new TextAnalysisResponse - { - Original = request.Text, - Flagged = flagged, - ProcessingTimeMs = Math.Round(stopwatch.Elapsed.TotalMilliseconds, 2) - }; + stopwatch.Stop(); - if (request.IncludeTokens) - { - response.Tokens = tokens; - } - - _logger.LogInformation( - $"Text analysis completed in {response.ProcessingTimeMs}ms | " + - $"Text length: {request.Text.Length} chars | " + - $"Flagged items: {flagged.Count}"); + var response = new TextAnalysisResponse + { + Original = request.Text, + Flagged = flagged, + ProcessingTimeMs = Math.Round(stopwatch.Elapsed.TotalMilliseconds, 2) + }; - return response; - } - catch (Exception ex) + if (request.IncludeTokens) { - stopwatch.Stop(); - _logger.LogError(ex, $"Error analyzing text after {stopwatch.Elapsed.TotalMilliseconds}ms"); - throw; + response.Tokens = tokens; } - } - /// - /// Analyze tokens for typos and entities - /// - private List AnalyzeTokens( - List tokens, - Dictionary> vocabulary, - Dictionary domainTermMapping, - TextAnalysisRequest request) + _logger.LogInformation( + $"Text analysis completed in {response.ProcessingTimeMs}ms | " + + $"Text length: {request.Text.Length} chars | " + + $"Flagged items: {flagged.Count}"); + + return response; + } + catch (Exception ex) { - // Build lookup table for O(1) exact match lookups (matching Python's build_lookup) - var lookup = BuildLookup(vocabulary); - - // Process n-grams and find matches - var flagged = _ngramProcessor.ProcessNgrams( - tokens, - vocabulary, - domainTermMapping, - lookup, - request.MaxNgram, - request.Cutoff, - request.TopK); - - // Process results: deduplicate and sort - return _resultProcessor.ProcessResults(flagged); + stopwatch.Stop(); + _logger.LogError(ex, $"Error analyzing text after {stopwatch.Elapsed.TotalMilliseconds}ms"); + throw; } + } - /// - /// Build a lookup dictionary mapping lowercase terms to their canonical form and domain types. - /// This is a performance optimization - instead of iterating through all domains for each lookup, - /// we build a flat dictionary once at the start. - /// - /// Matches Python's build_lookup() function. - /// - private Dictionary DomainTypes)> BuildLookup( - Dictionary> vocabulary) - { - var lookup = new Dictionary DomainTypes)>(); + /// + /// Analyze tokens for typos and entities + /// + private List AnalyzeTokens( + List tokens, + Dictionary> vocabulary, + Dictionary domainTermMapping, + TextAnalysisRequest request) + { + // Build lookup table for O(1) exact match lookups (matching Python's build_lookup) + var lookup = BuildLookup(vocabulary); + + // Process n-grams and find matches + var flagged = _ngramProcessor.ProcessNgrams( + tokens, + vocabulary, + domainTermMapping, + lookup, + request.MaxNgram, + request.Cutoff, + request.TopK); + + // Process results: deduplicate and sort + return _resultProcessor.ProcessResults(flagged); + } + + /// + /// Build a lookup dictionary mapping lowercase terms to their canonical form and domain types. + /// This is a performance optimization - instead of iterating through all domains for each lookup, + /// we build a flat dictionary once at the start. + /// + /// Matches Python's build_lookup() function. + /// + private Dictionary DomainTypes)> BuildLookup( + Dictionary> vocabulary) + { + var lookup = new Dictionary DomainTypes)>(); - foreach (var (domainType, terms) in vocabulary) + foreach (var (domainType, terms) in vocabulary) + { + foreach (var term in terms) { - foreach (var term in terms) + var key = term.ToLowerInvariant(); + if (lookup.TryGetValue(key, out var existing)) { - var key = term.ToLowerInvariant(); - if (lookup.TryGetValue(key, out var existing)) - { - // Term already exists - add this domain type to the list if not already there - if (!existing.DomainTypes.Contains(domainType)) - { - existing.DomainTypes.Add(domainType); - } - } - else + // Term already exists - add this domain type to the list if not already there + if (!existing.DomainTypes.Contains(domainType)) { - // New term - create entry with single type in list - lookup[key] = (term, new List { domainType }); + existing.DomainTypes.Add(domainType); } } + else + { + // New term - create entry with single type in list + lookup[key] = (term, new List { domainType }); + } } - - return lookup; } + + return lookup; } } diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs deleted file mode 100644 index 2a917fcb9..000000000 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/VocabularyService.cs +++ /dev/null @@ -1,186 +0,0 @@ -using BotSharp.Abstraction.FuzzSharp; -using BotSharp.Core.Infrastructures; -using CsvHelper; -using CsvHelper.Configuration; -using Microsoft.Extensions.Logging; -using System.Globalization; -using System.IO; - -namespace BotSharp.Plugin.FuzzySharp.Services -{ - public class VocabularyService : IVocabularyService - { - private readonly ILogger _logger; - - public VocabularyService(ILogger logger) - { - _logger = logger; - } - - [SharpCache(60)] - public async Task>> LoadVocabularyAsync(string? foldername) - { - var vocabulary = new Dictionary>(); - - if (string.IsNullOrEmpty(foldername)) - { - return vocabulary; - } - - // Load CSV files from the folder - var csvFileDict = await LoadCsvFilesFromFolderAsync(foldername); - if (csvFileDict.Count == 0) - { - return vocabulary; - } - - // Load each CSV file - foreach (var (domainType, filePath) in csvFileDict) - { - try - { - var terms = await LoadCsvFileAsync(filePath); - vocabulary[domainType] = terms; - _logger.LogInformation($"Loaded {terms.Count} terms for domain type '{domainType}' from {filePath}"); - } - catch (Exception ex) - { - _logger.LogError(ex, $"Error loading CSV file for domain type '{domainType}': {filePath}"); - } - } - - return vocabulary; - } - - [SharpCache(60)] - public async Task> LoadDomainTermMappingAsync(string? filename) - { - var result = new Dictionary(); - if (string.IsNullOrWhiteSpace(filename)) - { - return result; - } - - var searchFolder = Path.Combine(AppContext.BaseDirectory, "data", "plugins", "fuzzySharp"); - var filePath = Path.Combine(searchFolder, filename); - - if (string.IsNullOrEmpty(filePath) || !File.Exists(filePath)) - { - return result; - } - - try - { - using var reader = new StreamReader(filePath); - using var csv = new CsvReader(reader, CreateCsvConfig()); - - await csv.ReadAsync(); - csv.ReadHeader(); - - if (!HasRequiredColumns(csv)) - { - _logger.LogWarning("Domain term mapping file missing required columns: {FilePath}", filePath); - return result; - } - - while (await csv.ReadAsync()) - { - var term = csv.GetField("term") ?? string.Empty; - var dbPath = csv.GetField("dbPath") ?? string.Empty; - var canonicalForm = csv.GetField("canonical_form") ?? string.Empty; - - if (term.Length == 0 || dbPath.Length == 0 || canonicalForm.Length == 0) - { - _logger.LogWarning( - "Missing column(s) in CSV at row {Row}: term={Term}, dbPath={DbPath}, canonical_form={CanonicalForm}", - csv.Parser.RawRow, - term ?? "", - dbPath ?? "", - canonicalForm ?? ""); - continue; - } - - var key = term.ToLowerInvariant(); - result[key] = (dbPath, canonicalForm); - } - - _logger.LogInformation("Loaded domain term mapping from {FilePath}: {Count} terms", filePath, result.Count); - } - catch (Exception ex) - { - _logger.LogError(ex, "Error loading domain term mapping file: {FilePath}", filePath); - } - - return result; - } - - private async Task> LoadCsvFileAsync(string filePath) - { - var terms = new HashSet(StringComparer.OrdinalIgnoreCase); - - if (!File.Exists(filePath)) - { - _logger.LogWarning($"CSV file does not exist: {filePath}"); - return terms; - } - - using var reader = new StreamReader(filePath); - using var csv = new CsvReader(reader, new CsvConfiguration(CultureInfo.InvariantCulture) - { - HasHeaderRecord = false // No header in the CSV files - }); - - while (await csv.ReadAsync()) - { - // Read the first column (assuming it contains the terms) - var term = csv.GetField(0); - if (!string.IsNullOrWhiteSpace(term)) - { - terms.Add(term.Trim()); - } - } - - _logger.LogInformation($"Loaded {terms.Count} terms from {Path.GetFileName(filePath)}"); - return terms; - } - - private async Task> LoadCsvFilesFromFolderAsync(string folderName) - { - var csvFileDict = new Dictionary(); - var searchFolder = Path.Combine(AppContext.BaseDirectory, "data", "plugins", "fuzzySharp", folderName); - if (!Directory.Exists(searchFolder)) - { - _logger.LogWarning($"Folder does not exist: {searchFolder}"); - return csvFileDict; - } - - var csvFiles = Directory.GetFiles(searchFolder, "*.csv"); - foreach (var file in csvFiles) - { - var fileName = Path.GetFileNameWithoutExtension(file); - csvFileDict[fileName] = file; - } - - _logger.LogInformation($"Loaded {csvFileDict.Count} CSV files from {searchFolder}"); - return await Task.FromResult(csvFileDict); - } - - private static CsvConfiguration CreateCsvConfig() - { - return new CsvConfiguration(CultureInfo.InvariantCulture) - { - HasHeaderRecord = true, - DetectColumnCountChanges = true, - MissingFieldFound = null - }; - } - - private static bool HasRequiredColumns(CsvReader csv) - { - return csv.HeaderRecord is { Length: > 0 } headers - && headers.Contains("term") - && headers.Contains("dbPath") - && headers.Contains("canonical_form"); - } - } -} From bc522d37d3015e61e96941607dc2c3b9f5da6a57 Mon Sep 17 00:00:00 2001 From: Yanan Wang Date: Tue, 11 Nov 2025 16:58:19 -0600 Subject: [PATCH 6/6] Read vacabulary and domain terms from all IPhraseCollection implementations --- .../Arguments/TextAnalysisRequest.cs | 2 +- .../Services/TextAnalysisService.cs | 44 ++++++++++++++++--- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs index aab632d1e..79fbd9894 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/FuzzSharp/Arguments/TextAnalysisRequest.cs @@ -29,7 +29,7 @@ public class TextAnalysisRequest /// [JsonPropertyName("cutoff")] [Range(0.0, 1.0)] - public double Cutoff { get; set; } = 0.80; + public double Cutoff { get; set; } = 0.82; /// /// Max candidates per domain (1-20) diff --git a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs index 36709e8eb..969ff1a65 100644 --- a/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs +++ b/src/Plugins/BotSharp.Plugin.FuzzySharp/Services/TextAnalysisService.cs @@ -11,18 +11,18 @@ namespace BotSharp.Plugin.FuzzySharp.Services; public class TextAnalysisService : ITextAnalysisService { private readonly ILogger _logger; - private readonly IPhraseCollection _vocabularyService; + private readonly IEnumerable _phraseLoaderServices; private readonly INgramProcessor _ngramProcessor; private readonly IResultProcessor _resultProcessor; public TextAnalysisService( ILogger logger, - IPhraseCollection vocabularyService, + IEnumerable phraseLoaderServices, INgramProcessor ngramProcessor, IResultProcessor resultProcessor) { _logger = logger; - _vocabularyService = vocabularyService; + _phraseLoaderServices = phraseLoaderServices; _ngramProcessor = ngramProcessor; _resultProcessor = resultProcessor; } @@ -39,11 +39,10 @@ public async Task AnalyzeTextAsync(TextAnalysisRequest req var tokens = TextTokenizer.Tokenize(request.Text); // Load vocabulary - // TODO: read the vocabulary from GSMP in Onebrain - var vocabulary = await _vocabularyService.LoadVocabularyAsync(); + var vocabulary = await LoadAllVocabularyAsync(); // Load domain term mapping - var domainTermMapping = await _vocabularyService.LoadDomainTermMappingAsync(); + var domainTermMapping = await LoadAllDomainTermMappingAsync(); // Analyze text var flagged = AnalyzeTokens(tokens, vocabulary, domainTermMapping, request); @@ -77,6 +76,39 @@ public async Task AnalyzeTextAsync(TextAnalysisRequest req } } + public async Task>> LoadAllVocabularyAsync() + { + var results = await Task.WhenAll(_phraseLoaderServices.Select(c => c.LoadVocabularyAsync())); + var merged = new Dictionary>(); + + foreach (var dict in results) + { + foreach (var kvp in dict) + { + if (!merged.TryGetValue(kvp.Key, out var set)) + merged[kvp.Key] = new HashSet(kvp.Value); + else + set.UnionWith(kvp.Value); + } + } + + return merged; + } + + public async Task> LoadAllDomainTermMappingAsync() + { + var results = await Task.WhenAll(_phraseLoaderServices.Select(c => c.LoadDomainTermMappingAsync())); + var merged = new Dictionary(); + + foreach (var dict in results) + { + foreach (var kvp in dict) + merged[kvp.Key] = kvp.Value; // later entries override earlier ones + } + + return merged; + } + /// /// Analyze tokens for typos and entities ///