SWAPI –Communication Preferences

Communication preferences in SuccessWare21 indicate when a customer has opted-in or opted-out of a particular type of communication.  The types of customer based communications are indicated by these communication classes:

·         Billing – relates to invoices and statement communications.

·         Job Notifications – relates to job schedule, dispatch, and completed communications.

·         Marketing – relates to marketing of new products or services.

·         Survey – relates to sending of survey requests.

 

Third parties should look at these as guidance when sending out communications. 

 

Access to these communication preferences are available through the new commands

·         LocationCommPreferenceQuery

·         AccountCommPreferenceQuery

 

Existing commands have been enhanced to provide communication preferences

·         LocationQuery

·         AccountQuery

 

LocationCommPreferenceQuery

Request

<SessionRequest Version="string" SessionID="{E1457F2E-C6ED-4C5A-AB27-E23F1E792F66}" RequestID="string">

       <LocationCommPreferenceQuery Filter="string" Max="string" OrderBy="string" StyleNo="string" StyleOptions="string">

              <LocationID>int</LocationID>

       </LocationCommPreferenceQuery>

</SessionRequest>

Response

<?xml version="1.0"?>

<LocationCommPreferenceQueryData RequestID="string">

       <LocationCommPreferenceQueryRecord>

              <LocationID>integer</LocationID>

              <CommClass>string(25)</CommClass>

              <OptInRequired>boolean</OptInRequired>

              <OptIn>boolean</OptIn>

              <OptOut>boolean</OptOut>

       </LocationCommPreferenceQueryRecord>

</LocationCommPreferenceQueryData>

 

AccountCommPreferenceQuery

Request

<SessionRequest Version="string" SessionID="{E1457F2E-C6ED-4C5A-AB27-E23F1E792F66}" RequestID="string">

       <AccountCommPreferenceQuery Filter="string" Max="string" OrderBy="string" StyleNo="string" StyleOptions="string">

              <AR_BillingCustomerID>int</AR_BillingCustomerID>

       </AccountCommPreferenceQuery>

</SessionRequest>

 

Response

<?xml version="1.0"?>

<AccountCommPreferenceQueryData RequestID="string">

       <AccountCommPreferenceQueryRecord>

              <AR_BillingCustomerID>integer</AR_BillingCustomerID>

              <CommClass>string(25)</CommClass>

              <OptInRequired>boolean</OptInRequired>

              <OptIn>boolean</OptIn>

              <OptOut>boolean</OptOut>

       </AccountCommPreferenceQueryRecord>

</AccountCommPreferenceQueryData>

 

LocationQuery

Request

<SessionRequest Version="string" SessionID="{E1457F2E-C6ED-4C5A-AB27-E23F1E792F66}" RequestID="string">

       <LocationQuery Filter="string" Max="string" OrderBy="string" StyleNo="string" StyleOptions="string">

              <LocationID>int</LocationID>

       </LocationQuery>

</SessionRequest>

Response

<?xml version="1.0"?>

<LocationQueryData RequestID="string">

       <LocationQueryRecord>

              <HasActiveAgreement>boolean</HasActiveAgreement>

              <HasActiveWarranty>boolean</HasActiveWarranty>

              <LocationID>integer</LocationID>

              <CompanyName>string(35)</CompanyName>

              <CustTitle>string(12)</CustTitle>

              <FirstName>string(25)</FirstName>

              <LastName>string(35)</LastName>

              <Address1>string(35)</Address1>

              <Address2>string(35)</Address2>

              <City>string(20)</City>

              <State>string(2)</State>

              <Zip>string(10)</Zip>

              <Phone1>string(12)</Phone1>

              <Phone1Ext>string(6)</Phone1Ext>

              <LocationType>string(6)</LocationType>

              <EmailAddress>string(150)</EmailAddress>

              <Contact>string(40)</Contact>

              <Priority>boolean</Priority>

              <Zone>string(6)</Zone>

              <TaxCode>string(6)</TaxCode>

              <OpenJobCount>integer</OpenJobCount>

              <OwnerOccupied>boolean</OwnerOccupied>

              <HasInstalledEq>boolean</HasInstalledEq>

              <LastAgreeDate>dateTime</LastAgreeDate>

              <LastWarrantyDate>dateTime</LastWarrantyDate>

              <HasPerpetualAgree>boolean</HasPerpetualAgree>

              <HasRenewal>boolean</HasRenewal>

              <PreferredTech>string(6)</PreferredTech>

              <Directions>string</Directions>

              <Notes>string</Notes>

              <AR_BIllingCustomerID>integer</AR_BIllingCustomerID>

              <Phone2>string(12)</Phone2>

              <Phone2Ext>string(6)</Phone2Ext>

              <OpenMarketingCount>integer</OpenMarketingCount>

              <OpenRecommendCount>integer</OpenRecommendCount>

              <LastAgreeType>string(10)</LastAgreeType>

              <LastTerminated>boolean</LastTerminated>

              <NextVisitMonth>short</NextVisitMonth>

              <NextVisitYear>short</NextVisitYear>

              <LeadSource>string(6)</LeadSource>

              <ReferralComment>string(65)</ReferralComment>

              <LocationTypeDesc>string(30)</LocationTypeDesc>

              <ZoneDesc>string(30)</ZoneDesc>

              <TaxCodeDesc>string(30)</TaxCodeDesc>

              <LeadSourceDesc>string(30)</LeadSourceDesc>

              <LastAgreeTypeDesc>string(30)</LastAgreeTypeDesc>

              <LastName2>string(35)</LastName2>

              <FirstName2>string(25)</FirstName2>

              <Phone3>string(12)</Phone3>

              <Phone3Ext>string(6)</Phone3Ext>

              <Phone4>string(12)</Phone4>

              <Phone4Ext>string(6)</Phone4Ext>

              <CustTitle2>string(12)</CustTitle2>

              <ContractNo>string(20)</ContractNo>

              <ContractAR_BillingCustomerID>integer</ContractAR_BillingCustomerID>

              <LeadSourceType>string(16)</LeadSourceType>

              <ContractComment>string(255)</ContractComment>

              <dsLocationLinkList>

                     <dsLocationLink>

                           <LocationAltBillingCustID>integer</LocationAltBillingCustID>

                           <LocationID>integer</LocationID>

                           <AR_BillingCustomerID>integer</AR_BillingCustomerID>

                           <IsAuthorized>boolean</IsAuthorized>

                           <AuthorizedBy>string(15)</AuthorizedBy>

                           <CCAccount>boolean</CCAccount>

                           <dsAccountInfoList>

                                  <dsAccountInfo>

                                         <LocationID>integer</LocationID>

                                         <CCAccount>boolean</CCAccount>

                                         <IsAuthorized>boolean</IsAuthorized>

                                         <AuthorizedBy>string(15)</AuthorizedBy>

                                         <AR_BillingCustomerID>integer</AR_BillingCustomerID>

                                         <BillingCustomerID>string(10)</BillingCustomerID>

                                         <CompanyName>string(35)</CompanyName>

                                         <CustTitle>string(12)</CustTitle>

                                         <FirstName>string(25)</FirstName>

                                         <LastName>string(35)</LastName>

                                         <Address1>string(35)</Address1>

                                         <Address2>string(35)</Address2>

                                         <City>string(20)</City>

                                         <State>string(2)</State>

                                         <Zip>string(10)</Zip>

                                         <Phone1>string(12)</Phone1>

                                         <Phone1Ext>string(6)</Phone1Ext>

                                         <Phone2>string(12)</Phone2>

                                         <Phone2Ext>string(6)</Phone2Ext>

                                         <CellPhone>string(12)</CellPhone>

                                         <FaxPhone>string(12)</FaxPhone>

                                         <EmailAddress>string(150)</EmailAddress>

                                         <ServiceContact>string(40)</ServiceContact>

                                         <IsGeneral>boolean</IsGeneral>

                                         <CustomerRating>string(6)</CustomerRating>

                                         <CurrentBalance>float</CurrentBalance>

                                         <DepositOnAccount>float</DepositOnAccount>

                                         <CCLocationID>integer</CCLocationID>

                                         <Comments>string</Comments>

                                         <CustomerRatingDesc>string(30)</CustomerRatingDesc>

                                         <FirstName2>string(25)</FirstName2>

                                         <LastName2>string(35)</LastName2>

                                         <CustTitle2>string(12)</CustTitle2>

                                         <IsName2InAddress>boolean</IsName2InAddress>

                                         <Phone3>string(12)</Phone3>

                                         <Phone3Ext>string(6)</Phone3Ext>

                                         <Phone4>string(12)</Phone4>

                                         <Phone4Ext>string(6)</Phone4Ext>

                                         <NoEmail>boolean</NoEmail>

                                  </dsAccountInfo>

                           </dsAccountInfoList>

                     </dsLocationLink>

              </dsLocationLinkList>

              <dsLocationCommPreferenceList>

                     <dsLocationCommPreference>

                           <LocationID>integer</LocationID>

                           <CommClass>string(25)</CommClass>

                           <OptInRequired>boolean</OptInRequired>

                           <OptIn>boolean</OptIn>

                           <OptOut>boolean</OptOut>

                     </dsLocationCommPreference>

              </dsLocationCommPreferenceList>

              <dsLocationContractPlanTypeList>

                     <dsLocationContractPlanType>

                           <LocationContractPlanTypeID>integer</LocationContractPlanTypeID>

                           <LocationID>integer</LocationID>

                           <ContractPlanType>string(10)</ContractPlanType>

                           <ContractPlanTypeDesc>string(50)</ContractPlanTypeDesc>

                           <Systems>integer</Systems>

                     </dsLocationContractPlanType>

              </dsLocationContractPlanTypeList>

              <dsRecommendList>

                     <dsRecommend>

                           <CM_OpportunityID>integer</CM_OpportunityID>

                           <LocationID>integer</LocationID>

                           <OpportunityCode>string(10)</OpportunityCode>

                           <OpDate>dateTime</OpDate>

                           <ReferredBy>string(6)</ReferredBy>

                           <IsNotified>boolean</IsNotified>

                           <IsDone>boolean</IsDone>

                           <OppNote>string</OppNote>

                           <OpportunityCodeDesc>string(30)</OpportunityCodeDesc>

                     </dsRecommend>

              </dsRecommendList>

              <dsMktgList>

                     <dsMktg>

                           <CM_MktgListID>integer</CM_MktgListID>

                           <LocationID>integer</LocationID>

                           <AR_BillingCustomerID>integer</AR_BillingCustomerID>

                           <MktgListName>string(30)</MktgListName>

                           <MktgListDescription>string</MktgListDescription>

                           <ReportName>string(30)</ReportName>

                           <OpportunityCode>string(12)</OpportunityCode>

                           <UserName>string(15)</UserName>

                           <CreationDate>dateTime</CreationDate>

                           <ExportFile>string(50)</ExportFile>

                     </dsMktg>

              </dsMktgList>

              <dsAgreeList>

                     <dsAgree>

                           <Status>string(10)</Status>

                           <AgreementID>integer</AgreementID>

                           <AgreementNumber>string(10)</AgreementNumber>

                           <AgreementType>string(10)</AgreementType>

                           <DiscountType>string(6)</DiscountType>

                           <DiscountPct>short</DiscountPct>

                           <StartDate>dateTime</StartDate>

                           <EndDate>dateTime</EndDate>

                           <Perpetual>boolean</Perpetual>

                           <IsActivated>boolean</IsActivated>

                           <IsFulfilled>boolean</IsFulfilled>

                           <IsTerminated>boolean</IsTerminated>

                           <IsCanceled>boolean</IsCanceled>

                           <NextVisitMonth>integer</NextVisitMonth>

                           <NextVisitYear>integer</NextVisitYear>

                           <TaxBill>boolean</TaxBill>

                           <AgreementTypeDesc>string(30)</AgreementTypeDesc>

                           <DiscountTypeDesc>string(30)</DiscountTypeDesc>

                           <RenewalCreated>boolean</RenewalCreated>

                           <OriginalReserve>float</OriginalReserve>

                           <ReserveCharges>float</ReserveCharges>

                           <dsVisitList>

                                  <dsVisit>

                                         <AgreementVisitID>integer</AgreementVisitID>

                                         <ActualYear>short</ActualYear>

                                         <ActualMonth>short</ActualMonth>

                                         <VisitType>string(6)</VisitType>

                                         <VisitPrice>float</VisitPrice>

                                         <Notes>string</Notes>

                                         <VisitTypeDesc>string(30)</VisitTypeDesc>

                                         <VisitInvoiced>boolean</VisitInvoiced>

                                         <InvoiceID>integer</InvoiceID>

                                         <InvoiceItemID>integer</InvoiceItemID>

                                         <VisitCanceled>boolean</VisitCanceled>

                                         <CanceledDate>dateTime</CanceledDate>

                                         <CanceledNote>string(30)</CanceledNote>

                                         <ValuePreviouslyBilled>float</ValuePreviouslyBilled>

                                         <TotalValue>float</TotalValue>

                                  </dsVisit>

                           </dsVisitList>

                           <dsAgrEquipList>

                                  <dsAgrEquip>

                                         <Age>integer</Age>

                                         <AgreementCoverageUnitID>integer</AgreementCoverageUnitID>

                                         <LocationUnitID>integer</LocationUnitID>

                                         <LocationID>integer</LocationID>

                                         <UnitType>string(6)</UnitType>

                                         <Manufacturer>string(6)</Manufacturer>

                                         <ModelNo>string(20)</ModelNo>

                                         <SerialNo>string(20)</SerialNo>

                                         <Location>string(20)</Location>

                                         <YearInstalled>integer</YearInstalled>

                                         <InstalledByUs>boolean</InstalledByUs>

                                         <OutOfService>boolean</OutOfService>

                                         <UnitTypeDesc>string(30)</UnitTypeDesc>

                                         <ManufacturerDesc>string(30)</ManufacturerDesc>

                                         <EqSystem>string(25)</EqSystem>

                                  </dsAgrEquip>

                           </dsAgrEquipList>

                     </dsAgree>

              </dsAgreeList>

              <dsEquipList>

                     <dsEquip>

                           <Age>integer</Age>

                           <LocationUnitID>integer</LocationUnitID>

                            <LocationID>integer</LocationID>

                           <UnitType>string(6)</UnitType>

                           <Manufacturer>string(6)</Manufacturer>

                           <ModelNo>string(20)</ModelNo>

                           <SerialNo>string(20)</SerialNo>

                           <FilterSize>string(12)</FilterSize>

                           <NumberOfFilters>short</NumberOfFilters>

                           <Location>string(20)</Location>

                           <YearInstalled>integer</YearInstalled>

                           <InstalledByUs>boolean</InstalledByUs>

                           <LastServiceDate>dateTime</LastServiceDate>

                           <LastServiceBy>string(6)</LastServiceBy>

                           <LastCallType>string(6)</LastCallType>

                           <OutOfService>boolean</OutOfService>

                           <UnitTypeDesc>string(30)</UnitTypeDesc>

                           <ManufacturerDesc>string(30)</ManufacturerDesc>

                           <EqSystem>string(25)</EqSystem>

                           <dsWarList>

                                  <dsWar>

                                         <WarrantyID>integer</WarrantyID>

                                         <WarrantyType>string(15)</WarrantyType>

                                         <LaborEndDate>dateTime</LaborEndDate>

                                         <PartsEndDate>dateTime</PartsEndDate>

                                         <IsInHouse>boolean</IsInHouse>

                                         <Vendor>string(15)</Vendor>

                                         <WarrantyTypeDesc>string(30)</WarrantyTypeDesc>

                                         <WarrantyNo>string(20)</WarrantyNo>

                                  </dsWar>

                           </dsWarList>

                     </dsEquip>

              </dsEquipList>

              <dsHistoryList>

                     <dsHistory>

                           <ProgressText>string(12)</ProgressText>

                           <ProgressAbbrev>string(3)</ProgressAbbrev>

                           <InvoiceID>integer</InvoiceID>

                           <InvoiceNo>string(10)</InvoiceNo>

                           <InvoiceDate>dateTime</InvoiceDate>

                           <LocationID>integer</LocationID>

                           <TotalAmount>float</TotalAmount>

                           <IsPosted>integer</IsPosted>

                           <Canceled>integer</Canceled>

                           <WorkDone>string</WorkDone>

                           <WorkSuggested>string</WorkSuggested>

                           <JobID>integer</JobID>

                           <JobNo>string(10)</JobNo>

                           <Department>string(2)</Department>

                           <JobClass>string(30)</JobClass>

                           <JobType>string(10)</JobType>

                           <StartDate>dateTime</StartDate>

                           <EndDate>dateTime</EndDate>

                           <Status>string(6)</Status>

                           <Progress>integer</Progress>

                           <IsSaleEst>integer</IsSaleEst>

                           <PrimaryEmp>string(6)</PrimaryEmp>

                           <CustomerPONum>string(12)</CustomerPONum>

                           <ClaimNo>string(10)</ClaimNo>

                           <ContractNo>string(20)</ContractNo>

                           <Scheduled>dateTime</Scheduled>

                           <Instructions>string</Instructions>

                           <DepartmentDesc>string(30)</DepartmentDesc>

                           <JobTypeDesc>string(30)</JobTypeDesc>

                           <StatusDesc>string(30)</StatusDesc>

                     </dsHistory>

              </dsHistoryList>

       </LocationQueryRecord>

</LocationQueryData>

 AccountQuery

Request

<SessionRequest Version="string" SessionID="{E1457F2E-C6ED-4C5A-AB27-E23F1E792F66}" RequestID="string">

       <AccountQuery Filter="string" Max="string" OrderBy="string" StyleNo="string" StyleOptions="string">

              <AR_BillingCustomerID>int</AR_BillingCustomerID>

       </AccountQuery>

</SessionRequest>

Response

<?xml version="1.0"?>

<AccountQueryData RequestID="string">

       <AccountQueryRecord>

              <AR_BillingCustomerID>integer</AR_BillingCustomerID>

              <CompanyName>string(35)</CompanyName>

              <CustTitle>string(12)</CustTitle>

              <FirstName>string(25)</FirstName>

              <LastName>string(35)</LastName>

              <Address1>string(35)</Address1>

              <Address2>string(35)</Address2>

              <City>string(20)</City>

              <State>string(2)</State>

              <Zip>string(10)</Zip>

              <Phone1>string(12)</Phone1>

              <Phone1Ext>string(6)</Phone1Ext>

              <CustomerRating>string(6)</CustomerRating>

              <CurrentBalance>float</CurrentBalance>

              <DepositOnAccount>float</DepositOnAccount>

              <BillingCustomerID>string(10)</BillingCustomerID>

              <Phone2>string(12)</Phone2>

              <Phone2Ext>string(6)</Phone2Ext>

              <CellPhone>string(12)</CellPhone>

              <FaxPhone>string(12)</FaxPhone>

              <EmailAddress>string(150)</EmailAddress>

              <ServiceContact>string(40)</ServiceContact>

              <IsGeneral>boolean</IsGeneral>

              <CCLocationID>integer</CCLocationID>

              <Comments>string</Comments>

              <PaymentMethod>string(15)</PaymentMethod>

              <PaymentType>string(15)</PaymentType>

              <CreditCardNumber>string(32)</CreditCardNumber>

              <CreditCardName>string(40)</CreditCardName>

              <CreditCardExpireMonth>integer</CreditCardExpireMonth>

              <CreditCardExpireYear>integer</CreditCardExpireYear>

              <LastName2>string(35)</LastName2>

              <FirstName2>string(25)</FirstName2>

              <Phone3>string(12)</Phone3>

              <Phone3Ext>string(6)</Phone3Ext>

              <Phone4>string(12)</Phone4>

              <Phone4Ext>string(6)</Phone4Ext>

              <dsAccountCommPreferenceList>

                     <dsAccountCommPreference>

                           <AR_BillingCustomerID>integer</AR_BillingCustomerID>

                           <CommClass>string(25)</CommClass>

                           <OptInRequired>boolean</OptInRequired>

                           <OptIn>boolean</OptIn>

                           <OptOut>boolean</OptOut>

                     </dsAccountCommPreference>

              </dsAccountCommPreferenceList>

              <dsDepositList>

                     <dsDeposit>

                            <AR_ReceivableID>integer</AR_ReceivableID>

                           <ItemDate>dateTime</ItemDate>

                           <TotalAmount>float</TotalAmount>

                           <Balance>float</Balance>

                           <Comment>string(50)</Comment>

                     </dsDeposit>

              </dsDepositList>

       </AccountQueryRecord>

</AccountQueryData>