Update 4.20.0

New: One Time Passcode (OTP) has been added as a new method of Human Verification. If selected as the method, a [Request Code] button will be show and when clicked will request a passcode from the server to be sent to the user's email address.

Update 4.19.7

Fix: Block cross-site form spam.

Update 4.19.6

Fix: Fix: There is now no limit to the number of different cart items that can be added to a cart.

Update 4.19.5

Fix: Updated the Human Verification control for forms.

Fix: Changes to backend.2.1.css to fix search box.

Update 4.19.4

Fix: ServiceTime.BookUsers now asks for any optional extras that may be available (Options1 - Options5 on Service). By default, if there are options available then the number of users is locked to 1 as each user may require different options.

Update 4.19.3

Fix: When a method is not editable all parameters default values are used.

Update 4.19.2

Fix: Error when outputting articles to static files.

Update 4.19.1

Fix: Security issue with file manager.

Update 4.19.0

New: Upgrade to security and user access.

Update 4.18.0

New: ServiceSchedule.AvailableQuantity and ServiceTime.AvailableQuantity when blank default to Service.AvailableQuantity.

Fix: Attachments can now be viewed without going via the primary object if allowed.

Update 4.17.2

Fix: SendEmailForm will no longer send from email address of the user entering the information. If you want to send from anyone other than the administrator, then an input control with type=hidden or type=text, name=Sender and the value being the email address should be included on the form. However the Reply-To will have the email address of the user entering the information.

Update 4.17.1

Fix: When ServiceBooking.Time is update it resets the start and finish time.

Fix: Function ServiceBooking.AllowSendEmail and ServiceBooking.AllowSendEmailIncludingUser.

Update 4.17.0

New: ServiceTime.SpecifyUsers now asks for additional information (if required) for each user such as meal preference.

New: You can now customise the booking confirmation letter for each service. This can be done by creating a merge page named [Service.FileName].servicebooking.confirmationletter.

New: Base styles nav.minimize1080 and nav.minimize1200.

Update 4.16.0

New: You can now change the maximum bookings for both a service schedule and time.

New: When adding custom properties to a service available schedule, the values are copied to a service time when generated, if the custom properties exist.

Fix: Custom properties and methods on the inherited class are now included.

Fix: Duplicate note created when service booking email sent.

Update 4.15.3

Fix: A HTML form with class disable-window-on-submit now on submit includes the message "Please wait while processing..." with spinning repeat icon.

Update 4.15.2

Fix: Couldn't add a large number of items to the cart due to storage size of cookies.

Update 4.15.1

Fix: To open and close methods for multiple service times.

Update 4.15.0

New: Can now Open and Close multiple Service Times at once.

Fix: Error when viewing items of a Future Order.

Update 4.14.21

Fix: Error in Group.SubscribeNewUser.

Fix: Backward compatibity for Human Verification Code on forms to block spambots.

Update 4.14.20

Fix: Found reference to code library based stylesheet in HTML editor which may cause problems with Google's algorithm for detecting malicious or unwanted software.

Fix: Object clean up in BusinessObject.GetPropertyValue disposing primary objects, collections and application.

Fix: BusinessApplication.Item when passing a file name.

Update 4.14.19

Fix: Error trying to update the base path when item is added/updated but the collection is disposed.

Update 4.14.18

Fix: Error uploading an attachment.

Update 4.14.17

Fix: Application.GenerateHTMLMenu(MenuItem, Depth, IncludeURLWithSubMenus) did not include the URL menus with sub-menus when requested.

Update 4.14.16

Fix: Error when confirmation message included an apostrophe.

Fix: When an attachment is deleted the file is deleted if it is in the item's local folder.

Update 4.14.15

New: NameValueCollection.Insert inserts an entry to the collection at the index.

Fix: LinkingForeignCollectionDefinitionAttribute.ConvertValue returning invalid collection.

Fix: GenerateHTMLVideo output of YouTube iframe.

Update 4.14.14

Fix: BusinessCollection.FilterOnIDOrFileNames returning error.

Fix: FormatToJSONString added additional character replacements.

Update 4.14.13

Fix: FutureOrder.Confirm returning error.

Update 4.14.12

Fix: BusinessCollectionItem.DefaultRange not returning correct value when custom property is the range property.

Fix: GenerateHTMLVideo updated YouTube URL.

Update 4.14.11

Fix: Cart items doubling.

Fix: FutureOrder.Confirm returning error.

Fix: BusinessCollection.ToString not removing custom prefixes when no items or 1 item.

Update: Updated Administration Menu to remove unwanted items and add tags, tag sets to product catalogue and incomplete orders to order management.

Update 4.14.10

Fix: MIGS Offsite Payment Method returned invalid hash code due to a change in the return URL.

Fix: CartItems.FreightPrice invalid when delivery method set to nothing.

Update 4.14.9

Fix: Application.Reset not returning to previous page.

Fix: GenerateHTMLForm on a new business collection item had invalid action attribute.

Fix: GenerateHTMLForm on a business object or method now will show properties/parameters when allow view or edit.

Fix: Default delivery method was not set to cheapest due to a sorting issue.

Update 4.14.7

New: Set the configuration setting GoogleAPIKey to enable the system to use Google's Geocoding API to get the GEO location of an address or the address at a GEO location.

New: Additional attributes added to the form, labels and inputs generated by GenerateHTMLForm for both business objects and methods to help with scripting and styling.

Fix: Error when running Organisations.SetMissingResidingGeolocations.

Fix: More descriptive error returned from script errors.

Update 4.14.6

New: Additional attributes added to the form, labels and inputs generated by GenerateHTMLForm for both business objects and methods to help with scripting and styling.

Fix: If definition attributes ImageURL.MaximumWidth and ImageURL.MaximumWidth are both not set then they will be defaulted to 1920 and 1200 respectively.

Fix: Definition attributes Decimal.MaximumValue now set to the maximum value of the current data type rounded down to the Decimal.RoundToValue.

Fix: Type defined attributes on definitions now set in inheritance order. For example, HTML.EditorLines used before MultipleLineText.EditorLines.

Fix: Error in LinkingForeignCollection.GenerateHTMLControl.

Fix: Multiple error/info messages will appear in form view when returning from submission.

Update 4.14.5

New: The GenerateHTMLForm method now adds a name attribute to each label for specific styling.

Update 4.14.4

Fix: Permission denied error when outputing an RSS feed.

Update 4.14.3

Fix: Error when booking and attendee details contain an ampersand.

Update 4.14.2

Fix: Error when saving an object or executing a method with a Business Collection Item as a parameter.

Update 4.14.1

Fix: Application.CheckForBouncedEmails memory consumption.

Fix: When email bounced due to 550 Maximum line length exceeded it was considered a hard bounce and marked the recipient's email status as bouncing. Now marked as invalid message.

Update 4.14.0

New: Renamed FileURLDefinition.FileName to FileURLDefinition.SaveAsFileName.

New: Definition.FileName which will be set to the definition name formatted to a file name unless otherwise set. For example, the BlogPosts collection file name by default will be blog-posts but you could to set it to just blog.

New: Application.Item(IDOrFileName) will return a page, group or collection matching the ID or File Name passed in.

New: Collection.Item(IDOrFileName) will return an item matching the ID or File Name passed in.

New: Can now export a foreign collection. It will export the collection converted to a string which unless change in the definition will return the number of items. For example, 4 Order Items.

New: Email.SendNow will now check for prior bounced mail before sending.

Fix: Email.SendNow returned an error of unknown OrderID.

Fix: Broken links in email campaign.

Fix: Domain redirection.

Fix: Discount pricing selection on trading items.

Fix: Can remove stored payment method from future order.

Fix: To default stored payment method for future order.

Fix: Selected Payment Method saved to session.

Fix: Default email settings saved to session when Sending Epage.

Fix: Current Automated Task settings saved to session for Schedule New Automated Task.

Fix: User dashboard links.

Update 4.13.1

New: Renamed User.Status to System Access Status, User.UserType to System Access Level, Membership.Status to Group Access Status and Membership.MemberType to Group Access Level.

Fix: Stopped auto-fill when asked for new password.

Fix: If an object is not accessible to a user none of the methods are either.

Fix: Order.RequiredOn was not automatically being filled when bookings made.

Fix: SendEmail.From is now limited to the email address of the user logged in or the administrators email address.

Fix: Allow logged in member view their memberships with any status.

Fix: Moving an item to another type.

Fix: Error when displaying a users future orders.

Fix: Error when sending order emails.

Update 4.13.0

New: Groups have been classified into Organisations and Non Organisation Groups. Organisations have additional information such as addresses, contact details and bank account details. Some types of organisations may be clubs, chapters, leagues, etc.

New: Membership.Role has been added.

Fix: For guest checkout and processing payments and actioning orders.

Fix: Unable to select certain properties when filtering a collection.

Update 4.12.1

New: Application.Reset now asks if you want to reset your session or the application. If application is chosen and multiple processes are used then then the application pool is restarted.

New: Items.RefreshAttachments will refresh the attachments for every item in the collection. In order to use this function you must Allow Execution for the collection you want to run it on. For example, in configuration settings set Products.RefreshAttachments.AllowExecuteExpression to Application.AdministratorIsLoggedIn

Fix: ServiceTime.Reschedule updates start and finish times in each of the bookings.

Fix: BusinessApplication.GetDefinition not returning methods or paramater definitions.

Update 4.12.0

New: The application can now run on multiple processes. In order to use multiple processes you need to do the following:

  • Start the ASP.Net State Service on the server and make sure you set Startup Type to Automatic in case the server is restarted.
  • Add <sessionState mode="StateServer" /> to the <system.web/> section of web.config.
  • Set Maximum Worker Processes in the application pool settings in IIS Manager or via your hosting control panel.

Fix: Membership emails now filtering by member type and status correctly.

Update 4.11.4

Fix: Error when listing emails due to forwarded receipts load.

Update 4.11.3

Fix: Editing order items slow to load.

Fix: Error displaying the payment order number.

Fix: Error loading foreign collection not previously loaded.

Fix: To avoid loading base tables in full.

Fix: Error retrieving session value from table after table reset.

Update 4.11.2

Fix: Custom pages for order methods where not showing.

Fix: To add booking to cart.

Fix: To order item description for bookings.

Update 4.11.1

New: Default dashboard items "Order Summary" and "Payment Summary" have new default time periods.

Fix: Error when redirecting from alias domains and non-ssl to ssl.

Fix: Error when copying items from one type to another.

Fix: Error when checking availability on service times.

Fix: Trading Entity stopped from deleting order once actioned.

Fix: Stopped reorder when contains bookings.

Fix: Stopped reorder when contains bookings.

Fix: Pages with multiple forms could not validate.

Fix: Forms controls that were auto-filled were not validated.

Fix: Auto-fills booking information from Trading Entity if not any set.

Update 4.11.0

New: Recurring orders have now been separated from the last order to enable price changes. You can now list future orders separately from confirmed orders.

New: Can now move a business collection item from one collection to another essentially keeping all common properties and setting defaults to new properties. For example, a Future Order to the Confirmed Orders collection.

New: When a order is placed for multiple bookings for a service time, an order item is created for each booking storing all the relevant information in newly created properties. This also sped up the process when an order is actioned and eliminates the need to redirect to another URL to process the bookings avoiding too many redirection errors.

New: When booking you can now specify a start and finish time within the service time.

New: CheckAvailability for bookings will now check the time block between the start and finish.

New: An email address can be stored against each booking allowing the attendee to be personally notified. This is especially useful if it is a guest checkout. By default the booking persons email address will be stored on each booking when booking for multiple attendees but can be changed if they wish to personalise.

New: Notes can be stored against a booking. Any emails sent to the attendee will be automatically noted.

New: Can now set maximum number of items a discount price can be used per customer and/or overall. For example, 1 per customer and 20 overall.

New: Can now set discount prices to trading items for a specified recurring period (per order, per week, per month, etc). For example, 1 per customer per order, 2 per customer per week or 10 overall per week.

New: Can now set discounts to trading items for a fixed specified period. For example, between 1 Jun 2020 to 30 Jun 2020.

Fix: Can now only receive member discount prices for booking times during the subscription period.

Fix: BusinessCollectionItem.ChangeRank when the ranking property is a custom property.

Fix: ListArticles when passing an article type.

Update 4.10.1

Fix: Application.ConfigureComponents.DefaultUserCountry was not been set correctly.

Update 4.10.0

New: Can now select one or more articles (blog posts, products, etc.) to merge with a snippet and create an email for marketing.

Fix: Unable to sort Article and Directory Views.

Fix: Copying an article will no longer copy the PublishedOn and ArchivedOn dates.

Fix: Freight based on price is now based on whole order rather than just deliverable items.

Fix: Error when changing a quantity of a cart item.

Fix: MIGS Payment Method upgraded to use TLS 1.2 security protocol.

Update 4.9.5

Fix: Order.MakePayment was not showing.

Fix: Due to Google's algorithm change on how it detects malicious or unwanted software, the library based scripts and stylesheets have been moved locally temporarily until the resolve the issue.

Update 4.9.4

Fix: Import script connection string for Excel.

Update 4.9.3

New: Bookings can be set to recur.

Fix: When setting a StoreSessionOnly property updating the workspace is not necessary.

Update 4.9.2

Fix: Upgraded TLS for PayPal integration.

Update 4.9.1

Fix: Could not add PayPal payment method due to error with Enable Storage.

Update 4.9.0

New: Can now book a time within an available time period. For example, say you have available times Mon-Fri 9am-5pm. You can take a booking for say an hour within the time period.

New: Can now filter recipients for an email campaign by their "Last Logged In Age".

Update 4.8.0

New: When updating/upgrading the version is returned in the URL.

New: Parameter IncludeURLWithSubMenus added to GenerateHTMLMenu which defaults to false, which means it will remove the URL when outputing if the menu item has a sub menu. This is necessary for touch screens.

New: A form's action on a template or article is parsed for included expressions and evaluated and replaced.

Update: Various changes to comments with sub-comments including:

  • The default format of a comment is the date submitted on.
  • Sub-comments column shown when listing comments.
  • Rejecting deletion of a comment with sub-comments.

Update: Invoice will show the promotion if there is one and even if the discount is zero.

New: Collection.FilterOnSearchText adds a search text filter to the collection and returns the collection.

Fix: Collection.FilterOnSQL now adds the filter to a pre-existing filter.

Fix: FormatDuration now formats zero.

Update 4.7.0

New: The MaximumSize of FileURL properties have now been defaulted to web.config's httpRuntime.maxRequestLength.

New: With debug on, errors returned from the server when a form is submitted will be logged.

Update: You can no longer set path names for files, images, videos, audios, scripts and stylesheets.

Update: Page load speed enhancements.

Fix: Concurrency error will no longer be applicable as the last to save will overwrite other changes.

Fix: Deleting a record did not properly delete related items and attachments.

Update 4.6.3

Fix: Recurring orders will only be generated from completed orders.

Fix: Error when viewing connections.

Update 4.6.2

Fix: When cancelling a subscription the expiry was set incorrectly.

Update 4.6.1

Fix: There was no type on a method definition return value when inspecting.

Update 4.6.0

New: You can now group tags into tag sets. GenerateHTMLTagsListForArticleView will display the list of tags groups by tag sets. The tag set file name will be included in the tag short cut path by default. This can be changed in Configure URLs.

Fix: Brand.FileName now not editable by default. The file name is created from the Title.

Fix: Brands can now be positioned.

Fix: Order.MakePayment will now correctly skip adding payment depending on parameters passed.

Update 4.5.1

New: BusinessMenuItem.GenerateSubMenuHTML now wraps the title in a span tag for ease of formatting.

Fix: Application.RenameObjectFileName was not correctly creating redirects to the correct path in some circumstances.

Update 4.5.0

New: Can now review an article which effectively adds a comment and rating.

New: Application.GenerateHTMLSearchControlForArticleView and Application.GenerateHTMLSearchControlForDirectoryView now can be passed an ID, placeholder text and button HTML.

Fix: Updated templates to use backend.2.1.js which fixes delay in redirect and old file locations.

Fix: Updated templates to use backend.2.1.css which fixes old file locations.

Fix: Error when loading an SQL View.

Fix: Error when sending Membership Emails when the Group ID was 1000 or more.

Fix: Application.MoveFile when downloading via a URL will use the destination file name in the temporary path as URL file name may not be suitable.

Fix: Error when running BinarySignatures.GetMimeTypeFromContent.

Fix: Error when running Collection.Compute on a property in an inherited collection.

Update 4.4.3

New: Can now select the depth of menus Application.GenerateHTMLMenu and Application.GenerateHTMLSelectMenu return.

New: If allowed, a user can now select no Order.MakePayment.Method to not make a payment at the time and send the invoice.

Update 4.4.2

Fix: Simplified the subscription processing when an order is actioned.

Update 4.4.1

Fix: Fat Zebra payment gateway requires a unique reference for each transaction.

Fix: ConvertToItem when passed a negative integer (used for new item IDs) was returning nothing instead of the new item.

Fix: Error when passing a URL with parameters to MoveFile, MoveImage and MoveVideo.

Update 4.4.0

New: A brand can now be selected on a product, service or any other article. As it is for categories, brands can also be listed for article views and used to filter the view. A short cut path is also available. For example, https://www.mysite.com/shop/brand/nike/.

Update: Manufacturers and product ranges have been removed.

Update 4.3.4

Fix: Payment.ReceivedOn.MaximumValue causing error when merging users on same day payment received.

Fix: OrderItem.CompletionURL for service bookings and subscriptions were simplified to avoid redirect errors.

Update 4.3.3

Fix: Using a referral URL not recording who the User.ReferralBy was with a short cut paths such as those to blogs, galleries, products, etc.

Update 4.3.2

Fix: Infrequent error when making payments.

Update 4.3.1

Fix: Links on invoices / payment instructions sent in email.

Fix: When stored payment methods can be added.

Fix: When Order.SelectStoredPaymentMethod is accessible for recurring orders.

Fix: Error generating article comments list.

Fix: When article comments can be viewed.

Fix: Load speed of cart items and orders.

Fix: Ability to filter and sort calendar, directory and article views via URL.

Fix: Ability to filter on an item Type.

New: Can now filter and sort collection in script with either SQL or an Expression. For example: Application.GetCollection("OrderItems").FilterOnSQL("[Price] > 100").FilterOnExpression("Val(Price) < 1000").SortOnSQL("[Price] desc")

Update 4.3.0

New: A user can comment on article comments.

New: Can now send an order based on the balance. For example, balance is greater than zero or balance equals zero.

Fix: Sending an order email campaign filtered on payment due resulted were incorrect.

Update 4.2.0

New: A user can add stored payment methods and change a stored payment method on an order for recurring or upcoming payments.

Update 4.1.3

Fix: Sending an order email campaign filtered on payment due resulted with zero emails sent.

Update 4.1.2

Fix: Sending email campaign resulted with zero emails sent.

Update 4.1.1

Fix: Now allows administrator to log in as another user when Website Temporarily Unavailable.

Fix: GetObjectByUniqueTextPropertyValue was not searching objects by file name.

Fix: Random Concurrency Violation error.

Update 4.1.0

New: Now supports MPGS payment gateway.

New: Now supports Fat Zebra payment gateway.

New: Now supports AfterPay payment gateway.

New: Email Marketing System now merges with Orders. This can be used for payment reminders, abandoned orders, etc.

New: Added Attachment.SetToProperty to set the attachment to a property on the current object. For example, if you are looking at image attachments for a user then an image could be set to the Logo or Photograph properties.

Fix: Added parameter WebRequest.EnableCookies which will enable cookies for a web request which will enable session values to be stored. This fixes a problem when a web request redirects to another URL but cannot view session values in the previous call.

Fix: After custom register (which called reset) was not logging in new user.

Fix: Removed storing session values as cookies.

Fix: URL parameter EndSessionOnComplete will now store this as a session variable and end the session after redirects complete if applicable.

Fix: Listing orders slow loading and generally across the board.

New: Added class Empty to calendar cells that have no times to display.

New: Function Application.GetUniversalTime(Time) which will return the universal time. When displaying a time in the users timezone

New: You can now display the time in the users timezone. To do that you need to wrap your default display time in an element with an attribute data-universal-time holding the universal time and data-options which indicates how it is to be displayed. For more info on options go here.

  • <span data-universal-time="17 Mar 2019 7:45 PM" data-options="{&quot;hour&quot;:&quot;2-digit&quot;,&quot;minute&quot;:&quot;2-digit&quot;}">5:45 AM AEST</span>

Update 4.0.9

Fix: Group.SubscribeNewUser will only direct the user to login if email address is already on the database when payment is required.

Fix: Group.TakeSubscription removed and directed to Group.SelectSubscription.

Fix: Order.MakePayment now will ask for payment details if the amount is zero due to a promotion, the order is recurring and the payment method selected has storage of payment details enabled. This will allow for example, first month subscription free and recurring orders automatically taking payment.

New: Order.SendPaymentErrorNotification will send a payment error notification to the email address on the order when a page named order.paymenterrornotification exists and an error is received trying to process a payment. This is especially useful for automated payments.

Fix: Order.RecurNextOn was set incorrectly in some circumstances.

Fix: Order.Cancel was available for the Trading Entity when actioned or completed.

Fix: Order.GenerateRecurringOrder now takes payment immediately for new order if due.

Fix: ServiceTime.SpecifyUsers will now get logged in user if there is no selected user.

Fix: Application.GetView now loads inherited table relationship.

Fix: BusinessObject.GetPropertyValue will now return the value from non-defined properties if allowed.

Update 4.0.8

Fix: Error creating a new email campaign.

Fix: Default HTML Merge Expression attribute Merge Type to dynamic when not specified.

Fix: Correction to page base paths for new upgrades.

Update 4.0.7

New: Can now set the default dashboard URL under Configure Components.

Fix: Template.LastUpdatedOn not updated when pregenerated content updated.

Fix: User.LastUpdatedOn not updated when user logged in.

Update 4.0.6

New: The system will automatically detect if content such as menu items, pages, templates, etc. have changed since pregenerate content was created and if so regenerate.

Fix: Custom collection filenames such as shop for products was not using configuration settings.

Fix: Error when accessing filters on Items collection.

Update 4.0.5

New: The system will pregenerate content for templates replacing merge expressions marked as static. This will speed up page load for both web and email templates. Note: in the HTML editor, the merge expression attribute Merge Object Type has been replaced with Merge Type which can have the following values:

  • Static - pregenerated
  • Dynamic - generated everytime
  • Both - pregenerated for public, everytime for logged in users

Fix: Group base paths and pages/blog posts/etc of groups.

Update 4.0.4

Fix: Error after setting HTTPS Everywhere in Configure Website.

Update 4.0.3

New: User's can now log back to their remembered account if logged out or logged in as someone else. A new menu item to do this has been created under Logout.

Update 4.0.2

Fix: Improvements made to Item.Attachments and permissions.

Update 4.0.1

New: You can now set the Website Temporarily Unavailable. To do this go to Configure URLs and set Website Temporarily Unavailable Page Name. Logged in administrator's will still be able to access as normal.

Fix: The website under construction page will only show when a user is not logged in and no path passed in the URL.

Fix: Missing static files such as images, scripts and videos will now return standard file not found response.

Update 4.0.0

New: Each business object, with the exception of a few types (Binary Signature, Configuration Setting, Import Script and IP Range), inherit Item which has an application wide unique ID.

Update: Auction management has been removed.

Update: Removed property ImportScript.IsUserImport.

Update: Many previously deprecated functions have been removed.

Update: Some configuration settings such as DocTypeDeclaration and ViewPort have been defaulted to the new norms.

Update: Restructuring of the file system, in particular the user files, images, videos, audios, scripts, stylesheets, etc.

Update: Restructuring of the URL short cut paths to match file system changes. For example, /galleries/my-photos/ for the URL to the gallery page and /galleries/my-photos/images/happy-days.jpg for a URL to one of the images.

Update: When outputing an article to a static file, the system will create a folder and output to an index.html file. For example, /galleries/my-photos/index.html, /blog/my-first-blog/index.html or /contact-us/index.html for a page.

Update: Item attachments can now have a title and description and be positioned in the list. The attachments can be local to the item attached /galleries/my-photos/images/happy-days.jpg, shared /images/great-day.jpg or external https://www.anothersite.com/images/awesome-week.jpg.

Update: Custom Properties can now be added to any item without adding a column to the database table. However, if you need to filter or sort that property then it is recommended to add a column to the relevant table.

Fix: Custom properties will now initialise from table column if exists when changing the type.

Fix: Custom properties initialised from table columns will now set unique where applicable.

New: The URL property for a menu item now has selectable list of pages and files under the default file path.

New: Functions Pluralize and Singularize.

Fix: Error when loading collection item in definition inspector when collection name does not resolve to object name by removing trailing letter "s" (singular name).

Fix: GenerateFilterEditor was not loading a drop down for custom enumeration properties.

New: Application.GetFiles(FolderPath, IncludeSubfolders) will return a list of files in the specified folder relative to the application absolute path.

Fix: Application.GetFolders(FolderPath, IncludeSubfolders, IncludeThisFolder) now returns a list of folder paths relative to the application absolute path.

New: Property Application.IsLocalHost which indicates if the application is run on a local computer, hence by a developer.

New: Service.TypeOfUsers: this allows you to specify the type of person/people using the service. For example, Attendee(s), Traveller(s), Rider(s) or Hiker(s).

New: When booking times, the user is now asked to specify attendees before adding to cart and checking out.

New: You can now set up a service for group bookings such parties, camps, etc. When a booking is made the system does not ask for each of the attendee details and a single booking is created which indicates how many it has been reserved for. To acheive this set Service.MaximumUsersPerBooking to a number greater than 1. You can also specify Service.MinimumUsersPerBooking.

New: Service.AllowOrderBeforeBooking will be ignored for group bookings.

New: When saving session variables, the system will also add them as a cookie on the client side which will help if session times out.

New: Can now add properties to a business collection item which will store while session is active.

New: Available quantities on products are not adjusted until the order is actioned.

New: The availability of products and services is checked prior to making payment.

Fix: Before adding item to the cart it checks cart for already added items of the same and checks availability on the combined.

New: You can now set an order as recurring. Orders for subscription to groups will automatically be set as recurring. The administrator or trading entity can also cancel the recurrence before it is due to recur.

New: A user's payment details (i.e. credit card info) can now be stored with a payment gateway and selected for reuse without reentering that information again. For recurring orders or orders with multiple part payments, the system will make the payment automatically when due.

New: Can now store credit card payment details with SecurePay.

New: Can now process direct debits with SecurePay.

New: A new property on gateway payment methods, Requires Reconciliation, indicates any payments made with this method will require reconciliation.

New: Can now cancel an order and if it has been actioned the products availability is rolled back, service bookings are cancelled and subscriptions for membership's expiry is rolled back.