diff --git a/devdocs/deploy.md b/devdocs/deploy.md index 4ce5eca4..a72fc513 100644 --- a/devdocs/deploy.md +++ b/devdocs/deploy.md @@ -6,7 +6,7 @@ If any packages have been changed in the release do a thorough security scan and ### Bump version numbers: -Search and replace 8.0.1 +Search and replace 8.0.2 webapp,server,launcher, v8migrate (don't change v8migrate unless it has it's own code changes, it's version should be it's own thing other than major release changes etc) Client end ayanova-version.js, diff --git a/devdocs/pricing.md b/devdocs/pricing.md index bfc99b8b..69d75be0 100644 --- a/devdocs/pricing.md +++ b/devdocs/pricing.md @@ -64,8 +64,7 @@ I've never heard anyone say AyaNova is too expensive #### Jobber -Jobber has good set of options comparable in many ways and has some more features for payment processing integrated etc, is an app based system but fewer strictly service management options no qb desktop integration but does qb online. I'd say it's better than AyaNova in terms of listed features but no idea for usability - +Jobber has good set of options comparable in many ways and has some more features for payment processing integrated etc, is an app based system but fewer strictly service management options no qb desktop integration but does qb online. I'd say it's better than AyaNova in terms of listed features but no idea for usability 1 user = 49/mo or 39/mo yearly up to 7 users = 149/mo or 119/mo yearly @@ -76,19 +75,18 @@ good text around bandwidth "substantially higher htan average jobber users" thro Yearly payment discount 20% -Bottom line Average per user price is $13.00/mo but not really broken out that way. Majority of our current users would fall into the $10/mo price range with them per user (up to 30) +Bottom line Average per user price is $13.00/mo but not really broken out that way. Majority of our current users would fall into the $10/mo price range with them per user (up to 30) #### AI Field management This one is hella complex website and pricing, very confusing, my eyes glazed over a bit Essentially there are 4 tiers with a separate price per user per tier. It's very hard to compare as some of our features are only in their most expensive tier but many of their featuers we don't have and are esoteric like translation by ai of something, ai routing of service calls I think, integration with some things like qb desktop which we can add, what's app, several things we could likely add ourselves. -At the very least I'd say the comparable is their "business" level which is 21.99 per user per month no apparent discounts for volume or payment over a year vs a month. The chepest is 9.99 and the most expensive ultimate level is 49.99 per user per month. so average would be 30. The level they push is the "advanced" at 38.49/mo +At the very least I'd say the comparable is their "business" level which is 21.99 per user per month no apparent discounts for volume or payment over a year vs a month. The chepest is 9.99 and the most expensive ultimate level is 49.99 per user per month. so average would be 30. The level they push is the "advanced" at 38.49/mo No yearly payment discount listed bottom line $39 / monthly per user (at a guesstimate) - #### Housecall pro HVAC field service software https://www.housecallpro.com/pricing/ @@ -110,9 +108,9 @@ Bottom line $50.00/monthly per user Weird one, they also sell credit cards oddly, so must be a kickback extra revenu thing, they all advertise the cashback benefits that scale with the level of license, fucking oddball shit. -They have 6 tiers with 3 lower ones with less features and user count and 3 larger ones with mroe features and bigger user count. problem with that is some smaller shops need the bigger features so I really think sticking with all features to all users without any bullshit is going to be easier for people to buy into and simpler to market with less fuckery. +They have 6 tiers with 3 lower ones with less features and user count and 3 larger ones with mroe features and bigger user count. problem with that is some smaller shops need the bigger features so I really think sticking with all features to all users without any bullshit is going to be easier for people to buy into and simpler to market with less fuckery. -Unlimited users is 299/mo which is 9/mo per user for a 30 count of users but could go unlimited. I guess we could offer an unlimited if we just threw in the price of a high end server and said fuck it do what you want. +Unlimited users is 299/mo which is 9/mo per user for a 30 count of users but could go unlimited. I guess we could offer an unlimited if we just threw in the price of a high end server and said fuck it do what you want. Their 20 user comparable is$199.00/mo or again 10 bucks a month with a 20% discount for yearly, Im' seeing this number a lot but only when it's a significant number of users 10 users is 12 bucks per user per month 5 users is 12 bucks per user per month, I really don't know what they are thinking @@ -120,6 +118,30 @@ up to 2 users is free but only if hyou sign up for their payment / credit card s Discount 20% for yearly payment +Bottom line about 12/user/month kind of + +#### Commusoft + +https://www.commusoft.us/pricing/ + +They market as if they're huge, highly rated in the app finder site I am using which seems legit getapp.com + +No user count tiers but feature tiers, this is lowest tier comparable to us: + +$64.00 / mo per user, minimum 2 users!, yearly discount is 7% so not much there at all, no discount for higher user count, minimum 2 users so they swept all the 1 users off the board immediately, interesting and unusual, it all does make them seem better somehow as in we don't give a fuck, I don't know if they are better or not but it appears that way for certain. + +Kind of the way I was thinking, you have 10 users you pay 64, you have 20 you pay 64, no discount. Hmmm... everyone else though has discounts and some are uber cheap. + +You can get a contractor additional license for $5/day which is also interesting way to do it. No inventory no customer access but has a customer reminder for service sent via email. + +10gb per user storage which is rarely mentioned but kind of makes sense as a way to do it I guess. + +Bottom line $64.00 / user / month + +#### Summary + +So 20% discount for yearly billing instead of monthly seems pretty common + ### License types and programs we will offer TWO types makes the most sense after considering options: @@ -130,7 +152,7 @@ TWO types makes the most sense after considering options: - One time fee, user can use indefinitely - self installed, hosted and maintained by customer - least profitable for us long term if they don't buy a maint. subscription -- Without maintenance subscription, eligable for Minor updates only to fix bugs no new features so in other words they buy 8.0.1 they can upgrade to any 8.0.X version release, but not 8.1 as it will be new features added that don't break backward compatibility +- Without maintenance subscription, eligable for Minor updates only to fix bugs no new features so in other words they buy 8.0.2 they can upgrade to any 8.0.X version release, but not 8.1 as it will be new features added that don't break backward compatibility - one-time payment, along with the option of a yearly maintenance fee. - This is basically our current model but we allow upgrades for subscribers - **HAS CODE IMPLICATIONS** upgrades need to check if allowed based on version number if no maintenance subscription _not_ on date of build. @@ -160,7 +182,21 @@ We need a formal declaration of how to switch from one to the other models. #### PERPETUAL -IDEA: figure out average license cost over all sizes of existing license sales, factor _that_ with the 19.4% inflation figure Joyce determined before and make that the average license price?? +### Actual price (work below) + +**US$135.00 / tech up front perpetual license** +No volume discounts +Gets you 30 days support and updates and that's it + +**US$100/tech/year maintenance** +No volume discounts +Gets you one year of support and updates to any release + +**UPDATE INFLATION IN TRUE TERMS CLOSE TO 25% so using that** + +IDEA: figure out average license cost over all sizes of existing license sales, factor _that_ with the 25% true inflation and make that the average license price?? + +**update: This concept ok, numbers not exactly what we're going for though** For active subscribers the average price paid for licenses was 121.25 so with inflation of 19.4 that would be 144.78. Tech counts by level is single=30 $4,770.00 total sales, 5=85 $11,815.00 total sales, 10=110 $13,090.00 total sales, 15=15 $1650.00 total sales, 20=100 $9,900.00 total sales (more 10 level techs than any other level and single is kind of lame) @@ -171,41 +207,141 @@ But what if no one buys a subscription?? Maybe though, lower up front and no man This is all about the initial license purchase, not the subscription which I haven't got to yet. Anyway, we were talking about a flat price per license no matter how many you buy. I still like that idea and was doing some calculations to figure it out. If we went that route then the pricing would make more sense to be calculated on the _average_ price per license sold, not on the single user price which would end up being 90% higher for a 20 user site. I used our existing active subscribers as a basis to calculate the average price of each license sold. I totaled the amount we charged for all active licenses then divided by number of techs overall that the represent and came to $121.25 is the average price we charge per license. So with inflation using your calculation of 19.41% that's 144.78 flat rate price per tech. -Except the current v7 license comes with 1 year of support and updates and I'm thinking of 90 days initial support and updates so basically we're taking away 9 months worth of support and updates which is not nothing either, not sure if that needs to be factored in or not? +Except the current v7 license comes with 1 year of support and updates and I'm thinking of 30 days initial support and updates so basically we're taking away 11 months worth of support and updates which is not nothing either, not sure if that needs to be factored in or not? The "value" of a support and updates subscription in v7 terms is 35% of initial license price so using the average that's $42.43 a year per tech or $3.40 / month per tech. So of that 121.25 we are saying that the tech / license portion is 78.82 and the support and updates portion is 42.43 -Alternative method of calculating average license price is to not use sold counts but actually just listed prices on the pricing page so: +**UPDATE CHANGE OF CALCS HERE, PRIOR WAS BASED ON SALES HERE ON OUT WE USE ACTUAL LISTED PRICES** + +Revenue for current v7 users based on subscription only, not new sales and only AyaNova licenses: +Single, 30 active @$55.65 per=$1669 +Up to 5, 17 active @$243=$4131 +Up to 10, 11 active @$416=$4576 +Up to 15, 1 active @$577=$577 +Up to 20, 5 active @$693=$3465 +QBI, 10 active @34.65=$346.00 +So currently $14,418 total revenue for tech subs alone, that needs to like triple just to be worthwhile + +Actual we are going to use method of calculating average license price is to not use sold counts but actually just listed prices on the pricing page so: 1=159.00 = 159 per user 5=695.00=139 per user 10=1190=119 per user 15=1650=110 per user 20=1980 =99 per user Average here = 125.00 per user so not much difference -This means that the average v7 subscription charge per year is 43.75 (125 \* .35) -Which means that the average v7 true initial license charge is actually $81.25 -And this also means that in v7 the subscription is worth $3.65 (avg) per month (43.75 / 12) -So in v7 prices this also means that the subscription is worth $3.65 (avg) per month (43.75 / 12) so if v7 was using our new system it would mean -we would charge $81.25 for a license plus $10.95 for the initial 90 days support for a total of $92.20, then if they purchase a sub it would (in v7 prices) be 43.75 for 12 months. +This means that the average v7 subscription charge per year is $32 +Which means that the average v7 true initial license charge is actually $93 (93 + 35%=125) +And this also means that in v7 the subscription is worth $2.66 (avg) per month (32 / 12) +o if v7 was using our new system it would mean we would charge $93 for a license plus $2.66 for the initial 30 days support for a total of $95 (rounded down), then if they purchase a sub it would (in v7 prices) be $32 for 12 months. -Meaning if use 19.4% inflation figure v8 would be $110.00 for the license and $52.20 per license for a years sub and updates. +Meaning if use 25% inflation figure v8 would be 95+25% $118 for the license and $40 license for a years sub and updates. -ACTUAL INFLATION just looked it up is 24% between now and 2016 including the prior months of huge increases, let's just round that up to 25% because inflation is still on the up trend so: -Taking the average v7 license plus 90 days v7 average sub cost is $92.20 + 25% = $115.25 1 tech + 90 days support in 2022 prices and yearly afterwards is $54.60 average per tech subscription (not factored tiers in yet) +##### How does it work out? + +Gamed out new pricing based on above system + +All license prices come with 30 days support and updates (maintenance) + +After 30 days runs out they can NOT upgrade nor get support without a subscription. + +**TODO** Some kind of system to prevent just not buying a sub until they need it like a discount to maintain one but a higher charge to purchase, i.e. it's like they are buying a new release in addition to the subscription + +A yearly optional maintenance subscription can be bought which entitles to support and updates including major version releases, if it lapses there is some kind of extra high penalty to start up again but it's not full price so there is _something_ of value in being a prior customer (or is that being too nice?) + +V7 PRICING FOR COMPARISON +(price/maintenance) +1 user $159/$55.65 +5 user $695/$243 (139/48.6 each) +10 user $1190/$416 (119 each) +15 user $1650/$577 (110 each) +20 user $1980/$693 (99 each) +50 user $3950/$1382 (79 each) +QBI $99/$34.65 + +HYPOTHETICAL PRICING @ 35% maintenance +1 user = $118, maint=$40 ($158 if bought together) +5 user = $590, maint=$200 ($790 together) +10 user = $1180, maint=$400 ($1580 together) +15 user = $1770, maint=$600 ($2370 together) +20 user = $2360, maint=$800 ($3160 together) +50 user = $5900, maint=$2000 ($7900 together) + +Ok, that's too low almost no one is paying more, I still like the flat license price for this though, it's easier than the fuckery out there in the world and these are really crazy value for money, like 100:1 or more so let's revamp, the cost of development is uber high so lets bump way up the subscriptions, instead of 35% let's make it 50% and see + +HYPOTHETICAL PRICING @ 50% maintenance +1 user = $118, maint=$59 ($177 if bought together) (minimum 2?? this is way less than a single hour bill out rate) +5 user = $590, maint=$295 ($885 together) +10 user = $1180, maint=$590 ($1770 together) (Here and down are our bread and butter and they're barely higher) +15 user = $1770, maint=$885 ($2655 together) +20 user = $2360, maint=$1180 ($3540 together) (70% increase in yearly maint) +50 user = $5900, maint=$2950 ($8850 together) + +SCENARIO: KEEP V7 LEVELS, INCREASE EACH LEVEL BY 25% INFLATION AND MAINT %50 INSTEAD OF 35% +(price/maintenance) +1 user $200/$100 +5 user $870/$435 +10 user $1485/$742 +15 user $2060/$1031 +20 user $2475/$1237 +50 user $4937/$2468 +QBI $125/$63 + +SCENARIO: A tech is worth on average 100 / hr so do maint at 100 and initial at 35% higher flat no discounts +(price/maintenance) +1 user $135/$100 +5 user $675/$500 +10 user $1350/$1000 +15 user $2025/$1500 +20 user $2700/$2000 +50 user $6750/$5000 +QBI $135/$100 + +So hypothetical profit if using this system with 2022 subscription counts would be: +340 licenses \* 100 dollars = 34,000 dollars +QBI, 10 active @100=$1000 so 35,000 dollars per year + +#### AVERAGE HOURLY BILILING RATES FOR SERVICE COMPANIES 2022 + +Plumber 75-150 average 112.50 +Electrician low average 75/hr +General contractor 45 +Auto Mechanic 102 +HVAC 150 +96.8/hr average so let's say 100 / hr #### SUBSCRIPTION / SAAS -So it's clear looking over things that there's a cost for a droplet and adding x more users doesn't really add to that for us so if a $5 droplet works for a single user up to let's say at least 10 users, just speculation, we make way more money off the 10 user. The price for a single user must be increased to accomodate that or...we host more than one site on a single droplet to offset the cost, but charge enough to move them up to a higher level without needing to increase the charges to compensate. +So it's clear looking over things that there's a cost for a droplet and adding x more users doesn't really add to that for us so if a $5 droplet works for a single user up to let's say at least 10 users, just speculation, we make way more money off the 10 user. The price for a single user must be increased to accomodate that or...we host more than one site on a single droplet to offset the cost, but charge enough to move them up to a higher level without needing to increase the charges to compensate. so pricing should be the highest normal droplet we can use +The range is $64/month/user at the top end (minimum 2 users though) to around 12-15/month/user at the lower end which usually corresponds to 10+ user counts +Single user is always most expensive for most sites and I can understand why as it's economy of scale + +Current subs revenue per TECH license is 3.50 per month ($4.375 in 2022 dollars) and we have 340 technician licenses active right now. If they all paid monthly that's $1190 dollars a month in current pricing in support and updates subscriptions alone. In 2022 dollars with inflation that would be 1,487.00 which is only $17,850 yearly revenue, no wonder we're poor. This is unsustainable clearly. + +So let's imagine a different scenario, let's say there are .75 users for every service tech in a business so 340 + 255 = 595 users if they all switched to SAAS + +###### Server costs + +We'll allocate the $7/mo server to single users so that's 30 techs plus .75 staff so 52.5 users total +We can probably allocate the same 7/mo to all others and maybe incrementally go up a few before hitting the Absolute worst case scenario i.e. most expensive server ever likely required (not counting storage extra or email costs if we provide which maybe is an add-on??) would likely ever be is dedicated 8gb 2 cpu amnd 50gb storage at $68.00 per month so that would likely be the top end requirement for a pretty big user. + +Maybe it's an idea to always use NAS block storage out of the gate for attachments and just expect it or add-on 10bucks for 100gb block storage is an option. +What is scotts total storage again I forget I think it was 4gb or something?? + +So the cheapest license cost if we said 12 per user for 10 and up hypothetically would mean a worst case scenario of 120 bucks a month revenu for a 21 dollar a month outlay for server so profit of about 100 bucks a month on the 10 users SAAS versus current revenu of 35 dollars a month for those same 10 users hmm... + +of course we would use the cheapest server set up monitoring and bump them up if we see it pegging out, going to take some time to figure this shit out + +Maybe the way to look at this is a basic price with options that directly correspond to digitalocean add-on's so fixed to 25gb total storage for the droplet initially + ##### Add-ons upgrades -- STORAGE: So we assume a cheap ass droplet and offer add-on's like more storage attachment space for XX / mo which is really just the digitalocean pricing plus a premium overhead for contingencies if they want it -- RAM / CPU: maybe we offer basic server but they can upgrade to levels for additional per month -- Anything we get billed extra for, as it stands we don't care how powerful they need, ayanova supports it, but we don't pay for it, they do. - - +- STORAGE: So we assume a cheap ass droplet and offer add-on's like more storage attachment space for XX / mo which is really just the digitalocean pricing plus a premium overhead for contingencies if they want it +- RAM / CPU: maybe we offer basic server but they can upgrade to levels for additional per month +- BACKUP: self is free vs we do is whatever digitalocean charges plus a premium +- Anything we get billed extra for, as it stands we don't care how powerful they need, ayanova supports it, but we don't pay for it, they do. #### New idea perpetual vs subscription @@ -259,7 +395,7 @@ https://www.linkedin.com/pulse/basic-differences-between-saas-subscription-perpe - No discounts for bulk, same price, there is a discount for bulk support and updates though - Existing users can purchase add-on techs as needed for this price, no discount since they already have the license via their existing support and updates -#### Hosted +#### Hosted SAAS Hosting is a later thing, concentrating on self installed for now but here are some initial thoughts on it diff --git a/devdocs/todo.txt b/devdocs/todo.txt index 2b076830..c7e06422 100644 --- a/devdocs/todo.txt +++ b/devdocs/todo.txt @@ -1,7 +1,7 @@ # now - +todo: QBI don't check build date against expiry date if it's a trial, i.e. they can upgrade a trial all they want as long as it's not expired key todo: License agreement changes for SAAS customers, this is huge and I hadn't thought of it before, wording is very different in this case, fuck, need to wing it I guess https://flgpartners.com/saas-pivots-transitions-perpetual-to-subscription-saas-models/ @@ -34,9 +34,12 @@ todo: if SAAS needs to do some things differently: maybe it's a plust because we can say you get a maximum storage for attachments of XXGb based on droplet size and it's an add-on to go with a bigger server?? Because some people need it and will pay for it if it's offered. SERVER - how to cap bandwidth, storage, whatever we get billed extra for from d.o. + - - +todo: each droplet for SAAS would need it's own ssh key and password to avoid eggs in one basket security scenario + also would need to securely store the passwords somewhere really really fucking secure like offline in a special keypass only accessible from certain hardware maybe with a digital key or something I dont' know + Look into security keepass with utmostness and not shared online anywhere so sneakernet only + todo: Change 45 day trial to 3 day trial but offer that they can email if they are going perpetual and need a special requested more period of time. If they need more time they can sign up for a month's use of the SAAS model is this in rockfish?? @@ -65,12 +68,20 @@ todo: SAAS different license checking method to ensure only *we* are hosting it +todo: test out creating a new droplet with block storage to hold the attachment files to see if it's possible, how it's done and mapped etc +todo: test out automatic backups using digitalocean's built in system with their pricing and how that would work with our backup system for the db etc + + - NEW WEBSITE flesh out the framework and post as an alternate v8index.htm intrey portal so can fully make it without affecting v7 get the live test server stuff worked out too in advance sb triggered from a route to make things simple and so client / website doesn't need to do too much Try it on a phone, it looks shitty on my phone the images are way too small I need to rethink the website images also it needs a summarizing paragraph at the top with links not just jump right into features + + After viewing a bunch I think I need a few focused feature blurbs with single not combined images with map, calendar and other basic shit in there but not too many instead a paragraph with features listed in text with links to the manual + I.E. not too much stuff on the hom epage. + So many competitors are selling credit cards, payment processing all manner of weird shit I guess for extra revenue, maybe people see that and go wtf, couldn't hurt to say something alluding to that Service management software. (no credit cards or other funkiness) we sell software not credit cards or whatever sounds good Images need to be clickable to zoom in on them figure out how to do that hopefully bootstrap has built in thing @@ -84,6 +95,11 @@ todo: SAAS different license checking method to ensure only *we* are hosting it https://getjobber.com/pricing/ https://aifieldmanagement.com/plans-pricing/ (for what it's worth, veyr confusing site) + This wording is nice and to the point: "What is Field Service Management? Field Service Management by GPS Insight is a work order management software that helps businesses create work orders, monitor employee locations, handle customers, track leads, and more from within a centralized platform. Staff members can utilize the built-in calendar to schedule daily, weekly, or monthly jobs based on service location and employee availability." + - + I'm seeing a lot of maps in the images on the sites, maps, calendar views etc, usually a single image that scales well in each blurb section so I think I need to rethink it + + - SHAREIT product codes once have pricing figured out fully and agreed on by joyce Rockfish - change text "Rental key" in picklist to "Service hosted key" @@ -1167,7 +1183,7 @@ https://www.ayanova.com/download/next/ayanova-linux-x64-server.zip https://www.ayanova.com/download/next/ayanova-windows-x64-lan-setup.exe Current v8 docs home: https://www.ayanova.com/docs/next -BUILD 8.0.1 rc2 CHANGES OF NOTE +BUILD 8.0.2 rc2 CHANGES OF NOTE Added integration back end feature for integration of external applications with AyaNova 8 Added front end administrative UI for viewing and controlling integrated applications and their logs diff --git a/dist/install/windows/x64/lan.iss b/dist/install/windows/x64/lan.iss index 5c6b133e..abf03b21 100644 --- a/dist/install/windows/x64/lan.iss +++ b/dist/install/windows/x64/lan.iss @@ -1,7 +1,7 @@ ; LAN install for internal network use only #define MyAppName "AyaNova server" -#define MyAppVersion "8.0.1" +#define MyAppVersion "8.0.2" #define MyAppPublisher "Ground Zero Tech-Works, Inc." #define MyAppURL "https://ayanova.com/" #define MyAppLauncherExeName "ayanova-launcher.exe" diff --git a/dist/install/windows/x64/standalone.iss b/dist/install/windows/x64/standalone.iss index 3884a43d..672be039 100644 --- a/dist/install/windows/x64/standalone.iss +++ b/dist/install/windows/x64/standalone.iss @@ -3,7 +3,7 @@ ; external to lan requires different config #define MyAppName "AyaNova" -#define MyAppVersion "8.0.1" +#define MyAppVersion "8.0.2" #define MyAppPublisher "Ground Zero Tech-Works, Inc." #define MyAppURL "https://ayanova.com/" #define MyAppLauncherExeName "ayanova-launcher.exe" diff --git a/server/AyaNova/AyaNova.csproj b/server/AyaNova/AyaNova.csproj index 8a4a3580..399697c6 100644 --- a/server/AyaNova/AyaNova.csproj +++ b/server/AyaNova/AyaNova.csproj @@ -4,8 +4,8 @@ true - 8.0.1 - 8.0.1.0 + 8.0.2 + 8.0.2.0 ayanova.ico bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml 1591 diff --git a/server/AyaNova/util/AyaNovaVersion.cs b/server/AyaNova/util/AyaNovaVersion.cs index 9317c26d..dfccf29d 100644 --- a/server/AyaNova/util/AyaNovaVersion.cs +++ b/server/AyaNova/util/AyaNovaVersion.cs @@ -5,7 +5,7 @@ namespace AyaNova.Util /// internal static class AyaNovaVersion { - public const string VersionString = "8.0.1"; + public const string VersionString = "8.0.2"; public const string FullNameAndVersion = "AyaNova server " + VersionString; public const string CurrentApiVersion="v8"; }//eoc diff --git a/server/AyaNova/util/License.cs b/server/AyaNova/util/License.cs index ccf7c526..dbd0b0f8 100644 --- a/server/AyaNova/util/License.cs +++ b/server/AyaNova/util/License.cs @@ -929,8 +929,8 @@ EQIDAQAB //Check if attempting to use a build of AyaNova that is newer than maintenance subscription expiry if (MExBB(Util.FileUtil.GetLinkerTimestampUtc(System.Reflection.Assembly.GetExecutingAssembly()), key)) { - Console.WriteLine("E1020 - Not licensed for this version of AyaNova. Fix: downgrade back to previous version in use or contact technical support for options."); - + Console.WriteLine("E1020 - Not licensed for this version of AyaNova. Fix: downgrade back to previous version in use or contact technical support for options."); + //NOTE: VERSION-TOO-NEW bit below is checked for in startup.cs DO NOT remove this without fixing the side effects throw new ApplicationException("E1020 VERSION-TOO-NEW - Not licensed for this version of AyaNova. Fix: downgrade back to previous version in use or contact technical support for options."); } @@ -953,7 +953,21 @@ EQIDAQAB #region Validate Build date against maintenance date in license //MaintenanceExpirationBeforeBuild? - internal static bool MExBB(DateTime dtB, AyaNovaLicenseKey k) => k.MaintenanceExpiration < dtB; + internal static bool MExBB(DateTime dtB, AyaNovaLicenseKey k) + { + //Is maintenance expiration date an earlier date than the current build date? + //return true if a problem or false if ok + + //Do not worry about evaluation / trial licenses + //users can upgrade them any time + if (k.TrialLicense) return false; + + //Do not worry about rental SAAS licenses, only we can upgrade them + if(k.RentalLicense) return false; + + //Ok, it's a perpetual license and not a trial so check away + return k.MaintenanceExpiration < dtB; + } #endregion