CasperVend 2/EasyVend: Difference between revisions
(68 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Critical| | {{Critical| This product is now retired and has been removed from the CasperVend packs. }} | ||
{|align=right | {|align=right | ||
|__TOC__ | |__TOC__ | ||
|} | |} | ||
= '''<span style="color:#00528c">Purpose of EasyVend</span>''' = | |||
This expansion was created to assist people migrating in to CasperVend from E2V, another vendor system which was cut off and shut down in May 2018. | This expansion was created to assist people migrating in to CasperVend from E2V, another vendor system which was cut off and shut down in May 2018. | ||
Line 23: | Line 20: | ||
:* Web management not necessary with EasyVend | :* Web management not necessary with EasyVend | ||
:* Splits and profit Sharing '''ARE''' supported | :* Splits and profit Sharing '''ARE''' supported | ||
:* CV Gift Cards: Accepted - '''will''' work with local/folder delivery as of version EasyVend v2.01 (so make sure yours are up to date!) | |||
== '''<span style="color:#00528c">E2V Items NOT Used by EasyVend</span>''' == | == '''<span style="color:#00528c">E2V Items NOT Used by EasyVend</span>''' == | ||
Line 35: | Line 33: | ||
:* '''NOT SUPPORTED:''' E2V's "partner" sharing feature (because you '''cannot''' share inventory servers in CasperVend) | :* '''NOT SUPPORTED:''' E2V's "partner" sharing feature (because you '''cannot''' share inventory servers in CasperVend) | ||
:* '''NOT SUPPORTED:''' Group discounts (that's only supported with the full CasperVend) | :* '''NOT SUPPORTED:''' Group discounts (that's only supported with the full CasperVend) | ||
:* The EasyVend does not display textures - if you want automatic texture management use the full CasperVend | :* The EasyVend does not display textures - if you want automatic texture management use the full CasperVend | ||
:* You can't manage what displays on the vendor from the web | :* You can't manage what displays on the vendor from the web | ||
Line 44: | Line 41: | ||
='''<span style="color:#00528c">Where are the EasyVend Scripts?</span>''' = | ='''<span style="color:#00528c">Where are the EasyVend Scripts?</span>''' = | ||
EasyVend has now been retired and is no longer in the vendor packs. | |||
== | = '''<span style="color:#00528c">Debit Permissions</span>''' = | ||
The E2V system did not ask for debit permissions from vendors (because that was handled by the Payment Server). | |||
:# | |||
However, EasyVend does *NOT* use the Payment Server, so '''all''' EasyVend vendors ask for debit permissions when newly created, updated, or hard reset (right-click > edit > "reset scripts in selection"). | |||
The reason you will be getting debit permissions windows is because the new script does NOT remember any permissions that may (or may not have been) given to the old scripts. This is '''required''' by LSL. The same thing happens when an existing script is hard-reset (Such as if you're using Edit > Reset scripts). More information on '''[[Debit_Permissions | debit permissions is here.]]''' | |||
= '''<span style="color:#00528c">Sales Data Migration from E2V to CasperVend</span>''' = | = '''<span style="color:#00528c">Sales Data Migration from E2V to CasperVend</span>''' = | ||
== ''' | == '''Self-Hosted Migration''' == | ||
If you are a self-hosted E2V customer, and want to export your data, '''[[E2V_Self_Hosted_Migration | go here]]''' for information and instructions. | If you are a self-hosted E2V customer, and want to export your data, '''[[E2V_Self_Hosted_Migration | go here]]''' for information and instructions. | ||
== ''' | == '''E2-Designs Hosted''' == | ||
To export your E2V sales data, provided the system is still up, you need to log in to E2V and go '''[http://www.e2-sl.com/e2v-3/owners/export.php here]''' then select what month sales data to export, and save it. Same with your credit history. | To export your E2V sales data, provided the system is still up, you need to log in to E2V and go '''[http://www.e2-sl.com/e2v-3/owners/export.php here]''' then select what month sales data to export, and save it. Same with your credit history. | ||
= '''<span style="color:#00528c">Convert Existing E2V Vendors to EasyVend</span>''' = | = '''<span style="color:#00528c">Convert Existing E2V Vendors to EasyVend</span>''' = | ||
='''<span style="color:#00528c"> | '''NOTE:''' The "@(uuid)" in the vendor description after conversion *IS* required for the vendor to function. All EasyVend vendor-specific settings go BEFORE the @ in the description | ||
You may choose to replace the scripts in your existing vendors | |||
='''<span style="color:#00528c">Migration Options on Ready Products</span>''' = | |||
Products must be ready - as in, they must be packaged and in the dropbox, and/or in the vendors '''BEFORE''' resetting / changing the scripts to EasyVend. If the product is added after, the vendor will not work. (So reset them again, if you happened to add the products last.) | |||
You may otherwise choose to replace the scripts in your existing vendors either manually (one at a time), or with the new MigrationBee | |||
E2V | == '''<span style="color:#00528c">Manually Converting E2V Vendors</span>''' == | ||
=== E2V Inventory Server === | |||
---- | |||
:# Leave any notecards alone | |||
:# Drop 1 copy of the "CasperTech DropBox" into '''each''' "Storage Box" prim of the inventory server. | |||
:# Leave the smaller "Inventory Server" root prim empty | |||
You may leave the E2V scripts in the Inventory Servers if you are running E2V and EasyVend side-by-side until E2V's cutoff date. | |||
== | === E2V Store Controller === | ||
---- | |||
:# Leave the notecard there | |||
:# Drop in the "CasperVend2 EasyVend Store Controller" script | |||
You may leave the E2V script(s) in the controller if you are running E2V and EasyVend side by side until E2V's cutoff date. | |||
== | === E2V Vendors === | ||
---- | |||
:# Delete the E2V scripts from each E2V vendor | |||
:# Drop in the "CasperVend2 EasyVend" script | |||
:# Answer orange/yellow debit permissions popup | |||
== '''<span style="color:#00528c">Using Migration Bee</span>''' == | == '''<span style="color:#00528c">Using Migration Bee</span>''' == | ||
= | === E2V Inventory Server === | ||
---- | |||
:# Leave any notecards alone | |||
:# Drop 1 copy of the "CasperTech DropBox" into '''each''' "Storage Box" prim of the inventory server. | |||
:# Leave the smaller "Inventory Server" root prim empty | |||
== ''' | You may leave the E2V scripts in the Inventory Servers if you are running E2V and EasyVend side-by-side until E2V's cutoff date. | ||
=== E2V Store Controller === | |||
---- | |||
:# Leave the notecard there | |||
:# Drop in the "CasperVend2 EasyVend Store Controller" script | |||
You may leave the E2V script(s) in the controller if you are running E2V and EasyVend side by side until E2V's cutoff date. | |||
=== E2V Vendors === | |||
Inside EasyVend v2.01 and later you will find the MigrationBee: | |||
:# Rez the '''"CasperVend2 Migration Bee E2V"''' on each sim/region you have E2V vendors | |||
:# Click it, you'll get a popup menu | |||
:# Select "Upgrade" | |||
:# WAIT while it goes around the sim/region swapping out the scripts in all your vendors | |||
:# ANSWER the debit perm windows as they come up | |||
:# Repeat on each sim/region you have vendors on | |||
The MigrationBee will handle ALL of YOUR E2V vendors on that sim/region, and must be repeated on every other sim/region you have E2V vendors on. | |||
= '''<span style="color:#00528c">Delivery Methods After Conversion</span>''' = | = '''<span style="color:#00528c">Delivery Methods After Conversion</span>''' = | ||
Your customers will '''only''' be able to automatically claim redeliveries for copiable products that started off '''in the DropBox.''' | |||
Copiable products that you sell via the in-vendor option of folder or locally delivered object, are *NOT* added to the redelivery list by default - you will need to log in to the CasperVend website and manually choose the product to redeliver from your DropBox. | |||
== '''<span style="color:#00528c">Redeliverable Delivery</span>''' == | == '''<span style="color:#00528c">Redeliverable Delivery (Products in DropBox)</span>''' == | ||
Redelivery terminals in CasperVend always depend on networked/remote delivery. Thus, there always needs to be a packaged copy of your products in a DropBox. | |||
:# Rez the CasperVend DropBox out of the main Premium Vendors box. (Or alternately, drop a copy of the CasperVend DropBox script into each inventory STORAGE server from E2V.) | |||
:# Your packaged products - not folders - will need to go in here to be used for remote delivery. | |||
:# The DropBox will, of course, need to stay rezzed in order to deliver your products, just like the E2V inventory server. | |||
:# You should have more than one set of DropBox(es) on different sims/regions, in order to bypass the occasional bug where the sims/regions stop listening to the outside internet (i.e., delivery instructions from Casper's servers.) Need to rent a space to put your dropbox(es)? See the '''[[DropBox_Hosting | DropBox storage page.]]''' | |||
Please note: This is not a "primary vs backup" method. CasperVend "calls" to the DropBoxes on a very efficient basis - the first one (1) that responds, (2) that has the product, is (3) the one that delivers the product. You can read more about this and other DropBox tips and tricks '''[[CasperVend_2/DropBoxes | by clicking here]]'''. | |||
== '''<span style="color:#00528c">Non-Redeliverable Delivery</span>''' == | == '''<span style="color:#00528c">Non-Redeliverable Delivery</span>''' == | ||
EasyVend will first check for deliverable items in the vendor, if it finds one, it delivers that first instead of a duplicate that may be in the dropbox | |||
=== '''Vendor Delivery - Packaged''' === | === '''Vendor Delivery - Packaged''' === | ||
---- | ---- | ||
If the product is stored in the vendor prim's inventory, the vendor script can give it directly to the customer, on the spot. The item must be a single object (e.g. a box, bag or other packaging) named exactly the same as the vendor prim. This item will go into the customer's Objects folder in their inventory | |||
=== '''Vendor Delivery - Folder''' === | === '''Vendor Delivery - Folder''' === | ||
---- | ---- | ||
You can also place a collection of "loose" items inside the vendor prim, which will cause the vendor script to deliver a folder to the customer, named the same as the vendor prim, and containing all the items from inside the vendor prim, minus the vendor script. | |||
= '''<span style="color:#00528c">Discounts & Credits</span>''' = | |||
:* Store Credt - EasyVend uses the E2V Store Controller settings notecard (see below) | |||
:* Rewards are processed by the CasperVend website, because that portion happens AFTER the transaction is completed | |||
:* TopUP Terminals on EasyVend may only be used to check existing balances. | |||
= '''<span style="color:#00528c">Gift Cards</span>''' = | |||
Product listing on the website WILL require a texture UUID (because that's how the CasperVend gift card calls it) - even if you have the texture on the vendor already. | |||
= '''<span style="color:#00528c">Gifting</span>''' = | |||
== '''Gifting - Local/Folder Delivery'''== | |||
Recipient must be on the SAME sim/region (this is a grid/LSL limitation.) | |||
== '''Gifting - Remote Delivery''' == | |||
Recipient may be anywhere on the grid. | |||
= '''<span style="color:#00528c">Store Controllers - Pricing, Discounts & Profit Splits</span>''' = | |||
EasyVend does NOT use any product pricing on the CasperVend website - if you want the website to reflect the vendor price, you must change the information on the website manually. | |||
== <span style="color:#00528c">'''Create Your Store Controller Object''' </span> == | |||
This object will control the settings for all of your EasyVend vendors (not any regular CasperVend ones) on the region where THAT controller is located. | |||
:# Rez a new prim | |||
:# Drop in the "3) CasperVend2 EasyVend Store Controller" script | |||
:# Add in your "settings" notecard that you have created for vendors on that sim/region(see instructions above for how to create this) | |||
That's it! | |||
You '''WILL''' need 1 copy of this on each sim/region, with an appropriately edited "settings" notecard, that you have vendors on, just like with E2V. | |||
== '''<span style="color:#00528c">Your Settings Notecard</span>''' == | |||
The Store Controller's settings note card contains the options for the vendors you have on THAT sim/region. | |||
The note card is roughly divided up into 4 sections: | |||
:* Defaults | |||
:* Price Groups | |||
:* Sales | |||
:* Splits | |||
For example: | |||
<pre> | |||
# Defaults | |||
N-Reward=2% | |||
G-Reward=5% | |||
# Price Groups | |||
PriceGroup=one,50 | |||
PriceGroup=two,100 | |||
# Sales | |||
Sale= | |||
ExcludedGroups= | |||
SpendCreditDuringSale=false | |||
EarnCreditDuringSale=false | |||
# Splits | |||
Split= | |||
</pre> | |||
=== Default Settings === | |||
---- | |||
'''N-Reward''' <br />Specifies the default non-group buyer's reward value to be used for each vendor, if the value is not specified either on the vendor, or in the vendor's price group. This value can be either a percentage (if you include the % sign) or an absolute value. This value can be either a percentage (if you include the % sign) or an absolute value. Leave this blank, or use a 0, to prevent any default value from being used. | |||
'''G-Reward'''<br />Specifies the default customer group's buyer reward value to be used for each vendor when the customer has the same group tag active that the vendor object is set to, if the value is not specified either on the vendor, or in the vendor's price group. This value can be either a percentage (if you include the % sign) or an absolute value. | |||
=== Price Groups === | |||
---- | |||
Price groups allow you to define a single set of vendor options, in one place, then use those options on as many different vendors as you want. Changes to the price group only need to made to the group itself (in the settings notecard) and all vendors using THAT group will be updated automatically. | |||
You can also put specific groups on sale simply by changing their prices, while the rest of your products remain unchanged. | |||
Each group is defined on a new line that begins with: | |||
PriceGroup= | |||
and consists of at least two items: the name of the group, and the price of the group. You can also specify buyer's reward values on the group, by adding them after the group's price. | |||
Here are some examples that you would find in the the Controller's notecard: | |||
<pre> | |||
N-Reward=2% | |||
G-Reward=5% | |||
PriceGroup=boots,250 | |||
PriceGroup=jackets,175,0,10% | |||
PriceGroup=hats,50,,12% | |||
</pre> | |||
In the above examples, any vendors in the "boots" group will be priced at L$250, and will use 2% and 5% for the reward values (they aren't defined because they aren't any different from the default.) Vendors in the "jackets" group will be priced at L$175, and will give no rewards to non-group members, and 10% to group members. Lastly, vendors in the "hats" group will be priced at L$50, and will use 2% and 12% as the reward values. | |||
To place a vendor in a Price Group, you use the group's name instead of a price in the vendor options, such as: | |||
[boots] | |||
You can still override the reward values of a Price Group, if needed: | |||
[boots,0,0] | |||
=== Sales & Discounts === | |||
---- | |||
You can place all of your vendors on that region on sale by putting either a percentage or a flat amount into the Sale field. Once the settings are saved and loaded, the controller will restart all the vendors, and they will take on the sale pricing. | |||
You can exclude certain pricing groups from the store-wide sale by adding their names, separated by commas, to the ExcludedGroups line. | |||
The SpendCreditDuringSale option controls whether customers will be able to to buy on-sale items using their store credit or not. Put "true" or "false." Note that vendors in groups that are excluded from the sale are not affected by this setting. | |||
The EarnCreditDuringSale options control how buyer's rewards behave during the sale. Use "false" to prevent on-sale vendors from issuing buyer's rewards. | |||
=== Splits, Profit === | |||
---- | |||
Profit splits in the controller's settings notecard are simply a place to DEFINE any existing splits. Listing a split in the notecard does NOT automatically mean that they'll actually be used everywhere. Where a split gets USED depends on what you key into the vendor object's description field. | |||
'''BE CAREFUL!''' You are responsible for the amount of profit splits you set up - if you're not careful, you may end up sending, for example, 150% of a product price out in splits, and losing money! | |||
==== Components of a Profit Split Definition ==== | |||
---- | |||
There are 3 parts to a split. They are: | |||
:* Split Name | |||
:* Split Target | |||
:* Split Amount. | |||
'''Split Name'''<br />You need a short, easy to remember name for what you're doing with this split. Are you paying rent? Are you paying your CSR? Paying your manager, or co-designer? Making a donation? Whatever it is you're doing with the split, you'll need to call this split something. | |||
'''Split Target'''<br />Next you'll need the UUID of the avatar you want to pay. You can get an avatar's UUID from their profile. | |||
'''Split Amount'''<br />Lastly, you'll need the amount you want to give this avatar on each sale. This is typically written as a percentage, like 25% or whatever amount you choose. | |||
As an example, this in the notecard: | |||
Split=mgr,ad7b01b9-9b71-4beb-ba05-0c353ade5952,50% | |||
shows: | |||
:* split name of "mgr" | |||
:* split target being the avatar UUID (or "avatar key" to some people) | |||
:* split amount of 50% . | |||
==== Pick Which Vendors Use the Split ==== | |||
---- | |||
You can apply a split to any vendor by adding the Split Name to the vendor's description line as part of the vendor's pricing options. | |||
Normally vendor's description line has 3 components to it, which are price, n-reward, and g-reward, written like this. | |||
Yes, always including the [square brackets]: | |||
[150,2%,5%] | |||
You can add a fourth component, which is the Split Name, like this: | |||
[150,2%,5%,mgr] | |||
A vendor with the above pricing options will pay 50% of its sale price of L$150 to the avatar specified in the split called "mgr" inside the Controller. | |||
In this way, you can easily change the Split Target or Split Amount on many vendors at once, simply by changing the Store Controller, instead of editing every vendor using the split. | |||
=== Formatting: Always Remember === | |||
---- | |||
You must have FOUR parts to the vendor pricing to use splits! They are price, n-reward, g-reward, and split name. | |||
But what if you're not using Buyer's Rewards? The Split Name still needs to be the 4th item! Here's how to do this if you are not using Buyer's Rewards at all (or if you just want to use the default values from the Store Contoller): | |||
In our example above, the Buyer's Rewards were included in the options: | |||
[150,2%,5%,mgr] | |||
You can "skip" writing the Buyer's Rewards as shown in this example: | |||
[150, , ,mgr] | |||
But without spaces! This keeps the 4 required places by explicitly defining them as existing, while not giving them a numbered percentage. | |||
[150,,,mgr] | |||
Or, you can disable Buyer's Rewards by using 0's: | |||
[150,0,0,mgr] | |||
==== Omitting a Value vs Explicit Definitions ==== | |||
---- | |||
When you don't supply a value for buyer's rewards, you are indicating that you want to use the default values (if they exist elsewhere in the settings notecard). | |||
This means that leaving them blank is '''NOT''' the same thing as using explict 0's. | |||
For example: | |||
<pre> | |||
N-Reward=2% | |||
G-Reward=10% | |||
PriceGroup=socks,100 | |||
PriceGroup=shoes,100,,8% | |||
PriceGroup=pants,100,0 | |||
PriceGroup=shirts,100,0,0 | |||
</pre> | |||
The above settings will result in the following values: | |||
<pre> | |||
socks ... n-reward: L$2, g-reward: L$10 | |||
shoes ... n-reward: L$2, g-reward: L$8 | |||
pants ... n-reward: L$0, g-reward: L$10 | |||
shirts ... n-reward: L$0, g-reward: L$0 | |||
</pre> | |||
= '''<span style="color:#00528c">Vending At Events</span>''' = | = '''<span style="color:#00528c">Vending At Events</span>''' = | ||
You will need to set up NORMAL CasperVend vendors ahead of time, on your own sim/region, so that all you need to do is pick them up and rez them out at the event. | |||
:# Package your new product into a box/bag/etc. | |||
:# Put that product in your DropBox | |||
:# Create your new CasperVend full listing | |||
:# Pull out a NORMAL CasperVend Vendor (Do NOT use EasyVend) | |||
:# Pull out the Event Vendor script box and unpack that | |||
:# Use the CasperVend vendor's config page to add the new product to the vendor | |||
:# Replace the standard CasperVend script with the Event Vendor script | |||
:# Pick up your new event vendor, and rez at the event. | |||
=== '''If you use EasyVend for events anyway, then you need to know''' === | |||
---- | |||
:* If you are using local/folder delivery | |||
:* AND you do NOT have a packaged product defined in the product listing for each product sold at the event | |||
:* AND your products are copiable | |||
Your customers '''will *NOT* be able to redeliver their purchase''' once the event is over and your vendors are returned/deleted. | |||
= '''<span style="color:#00528c">Creating New EasyVend Vendors</span>''' = | = '''<span style="color:#00528c">Creating New EasyVend Vendors</span>''' = | ||
:# Rez your vendor object | |||
:# The name of the vendor MUST MATCH the name of the inventory item, '''Except:''' | |||
:#* There may be additional text at the end | |||
:#* The word "vendor" at the end will be ignored | |||
:#* Inventory items may be named with multiple words, such as "mesh red boots" | |||
:# Edit the vendor's description field to indicate pricing and - if used - buyer rewards (loyalty rewards) and/or splits (see below) | |||
== '''<span style="color:#00528c">Naming Suffix Rules</span>''' == | |||
Suffixes are handled according to E2V rules, just without the use of notecards. | |||
=== '''Name Matching''' === | |||
---- | |||
Your vendor's name must match the name of your product box in the Inventory Server. This match has to be exact, including punctuation, capitalization, and spacing. (The most common misnaming between vendors and boxes is extra spaces somewhere between words!) | |||
There are two exceptions to this rule: | |||
: '''1)''' A vendor object may contain the word "vendor" at the very end of the name, separated by a space. This text will be ignored when matching the vendor to a product box. Thus "My Fancy Shoes Vendor" will actually deliver a product named "My Fancy Shoes" (your transactions will list this name, as well). | |||
: '''2)''' The Inventory Server supports the notion of "suffixes" which are a way to add extra text onto the end of a product box, yet not require that text on a vendor. For example, all of your product boxes might carry the text "(Wear to unpack)" on the end of them. But this text isn't helpful on a vendor or transaction listing. For example, using the suffixes feature, you can name your vendor "My Fancy Pants" and name your product box "My Fancy Pants (Wear to unpack)". Note also that if you use folder delivery mode in this example, the customer's folder will be named the same as the vendor - without the unsightly "(Wear to unpack)" which doesn't make much sense in a folder name. | |||
=== '''About the Description Field''' === | |||
---- | |||
The description field may contain: | |||
:# Pricing (or name of price group, as defined in controller's settings notecard) | |||
:# Pricing + loyalty/buyer rewards | |||
:# Pricing + loyalty/buyer rewards + splits | |||
Remember, any rewards or splits that are not being used need to be '''explicitly defined''' instead of being left blank. | |||
=== '''Cannot Auto-Detect Name Changes''' === | |||
---- | |||
Please remember that scripts cannot automatically detect when a prim's name or description changes. So any time you make a change to the prim name or description, you must also click > get popup > reset the vendor script. You can do this easily by selecting "Reset" from the vendor's popup menu. | |||
= '''<span style="color:#00528c">Converting from EasyVend to regular CasperVend</span>''' = | = '''<span style="color:#00528c">Converting from EasyVend to regular CasperVend</span>''' = | ||
The easyvend script automagically creates basic product listings for you. Of course there is only minimal information pre-filled from the vendor objects inworld, and so anything missing (when you're ready to move to regular CasperVend) won't take that long to add. | |||
== Using Remote Delivery (E2V Inventory Server style) == | |||
:# Rez a "Headless" vendor from inventory | |||
:# Right-click > open > Copy scripts to inventory. | |||
:# You'll have a Headless folder with regular CasperVend script + MAPPING notecard | |||
:# Right-click > Edit > Contents on your existing vendor object | |||
:# Delete the EasyVend script | |||
:# From the Headless folder, drag the vendor script + MAPPING notecard to your vendor object. | |||
:# Click > get popup menu > select "Admin" | |||
:# Log in to CasperVend website | |||
:# You'll get to the vendor's config page | |||
:# Select the individual product package FOR that vendor object | |||
== From Using Local / Folder Deliveries == | |||
:# As above, '''PLUS''' | |||
:# Package up your product in a box/bag/etc | |||
:# Put them in your DropBox | |||
:# Log in to CasperVend website | |||
:# Find the product | |||
:# Edit the product | |||
:# Point "delivery object" (very first option in the product listing) to the packaged product in the DropBox. | |||
= <span style="color:#00528c">'''Troubleshooting / FAQ'''</span> = | |||
:'''Q: Vendor is missing in the list - it was correctly converted inworld, but has no product page on the website.''' | |||
::'''A:''' Make sure the product is in the dropbox, and reset the vendors. If that doesn't auto-create the product page, you'll need to do that manually. | |||
:'''Q: My vendors keep reverting to L$1!''' | |||
:: '''A:''' You need to add the EAsyVend store controller script to your store controller object. | |||
:'''Q: Will EasyVend support old E2V gift cards?''' | |||
:: '''A:''' CasperVend cannot access the database that contains the E2V gift card information, so no we cannot support E2V gift cards. | |||
:'''Q: I'm using a very old version of E2V - will EasyVend convert my vendors?''' | |||
::'''A:''' Casper does not have access to a copy of the really old versions of E2V, so we cannot guarantee compatibility. Please try on a single vendor first to see whether it even works! | |||
:'''Q: Customer purchased my product, but only received SOME of the items''' | |||
::'''A:''' This is a known issue with 2.0 and prior - and has been fixed in EasyVend 2.01 - please upgrade! | |||
:'''Q: Profit splits aren't working right''' | |||
::'''A:''' This is a known issue with 2.0 and prior - and has been fixed in EasyVend 2.01 - please upgrade! | |||
:'''Q: How does it deal with multiple vendors selling the same product? Does it create a product listing for each vendor or only one?''' | |||
::'''A:''' If a product already exists which delivers the item, it'll use that product listing instead, so it works fine. However, if the name is different in any way (yes, capitalisation and typos DO count!) then it'll generate a new product listing. | |||
:'''Q. (Local delivery) The single color items seem to be working just fine but the fatpacks are only delivering ONE item out of the folder.''' | |||
:: '''A.''' If the vendor finds an EXACT match for the vendor's name within the contents, it'll delivery ONLY that item. If the vendor does NOT find an exact match for that name, it'll deliver a folder. So you should rename EITHER the vendor or the item in order to have fatpacks deliver properly with local/folder delivery mode. | |||
:'''Q2. If I opt for dropbox delivery, nothing ever delivers, and redelivery no longer works.''' | |||
:: '''A.''' This happened because there wasn't a matching item in the dropbox when the vendor booted up. The fix is (1) Make sure that item is in the dropbox (matching name, remember) and (2) reset the vendor. |
Revision as of 15:05, 25 February 2023
Purpose of EasyVend
This expansion was created to assist people migrating in to CasperVend from E2V, another vendor system which was cut off and shut down in May 2018.
If you were NOT using E2V before it was shut down, you will find this expansion VERY frustrating, and VERY time consuming - you might want to start with the normal Quick Start instead!
What's in the box?
EasyVend Features
- Drop-in replacement for E2V vendor scripts
- Drop-in replacement for E2V store controller to support profit splits, sales, price groups
- Drop-in replacement for E2V inventory server for remote delivery
- Obeys E2V naming rules for item matching
- Supports DropBox delivery, local vendor delivery and folder delivery
- Automatically creates products in the CasperVend system
- Web management not necessary with EasyVend
- Splits and profit Sharing ARE supported
- CV Gift Cards: Accepted - will work with local/folder delivery as of version EasyVend v2.01 (so make sure yours are up to date!)
E2V Items NOT Used by EasyVend
You will NOT need to rez or use any of these items from the E2V vendor pack when converting to EasyVend:
- Delivery Relay
- Payments Object
- Transaction Relay
EasyVend Limitations
- NOT SUPPORTED: E2V's "partner" sharing feature (because you cannot share inventory servers in CasperVend)
- NOT SUPPORTED: Group discounts (that's only supported with the full CasperVend)
- The EasyVend does not display textures - if you want automatic texture management use the full CasperVend
- You can't manage what displays on the vendor from the web
- You can't manage profit shares or store credit awards from the web
- If you use local vendor or folder deliveries, customers will be unable to claim redeliveries using the automatically created products. However, you can edit the product on the web interface and designate a packaged version (and set "copy" perms to allow redelivery) for that product to use for redelivery.
- Like E2V itself, EasyVend cannot be used as affiliate vendors
Where are the EasyVend Scripts?
EasyVend has now been retired and is no longer in the vendor packs.
Debit Permissions
The E2V system did not ask for debit permissions from vendors (because that was handled by the Payment Server).
However, EasyVend does *NOT* use the Payment Server, so all EasyVend vendors ask for debit permissions when newly created, updated, or hard reset (right-click > edit > "reset scripts in selection").
The reason you will be getting debit permissions windows is because the new script does NOT remember any permissions that may (or may not have been) given to the old scripts. This is required by LSL. The same thing happens when an existing script is hard-reset (Such as if you're using Edit > Reset scripts). More information on debit permissions is here.
Sales Data Migration from E2V to CasperVend
Self-Hosted Migration
If you are a self-hosted E2V customer, and want to export your data, go here for information and instructions.
E2-Designs Hosted
To export your E2V sales data, provided the system is still up, you need to log in to E2V and go here then select what month sales data to export, and save it. Same with your credit history.
Convert Existing E2V Vendors to EasyVend
NOTE: The "@(uuid)" in the vendor description after conversion *IS* required for the vendor to function. All EasyVend vendor-specific settings go BEFORE the @ in the description
Migration Options on Ready Products
Products must be ready - as in, they must be packaged and in the dropbox, and/or in the vendors BEFORE resetting / changing the scripts to EasyVend. If the product is added after, the vendor will not work. (So reset them again, if you happened to add the products last.)
You may otherwise choose to replace the scripts in your existing vendors either manually (one at a time), or with the new MigrationBee
Manually Converting E2V Vendors
E2V Inventory Server
- Leave any notecards alone
- Drop 1 copy of the "CasperTech DropBox" into each "Storage Box" prim of the inventory server.
- Leave the smaller "Inventory Server" root prim empty
You may leave the E2V scripts in the Inventory Servers if you are running E2V and EasyVend side-by-side until E2V's cutoff date.
E2V Store Controller
- Leave the notecard there
- Drop in the "CasperVend2 EasyVend Store Controller" script
You may leave the E2V script(s) in the controller if you are running E2V and EasyVend side by side until E2V's cutoff date.
E2V Vendors
- Delete the E2V scripts from each E2V vendor
- Drop in the "CasperVend2 EasyVend" script
- Answer orange/yellow debit permissions popup
Using Migration Bee
E2V Inventory Server
- Leave any notecards alone
- Drop 1 copy of the "CasperTech DropBox" into each "Storage Box" prim of the inventory server.
- Leave the smaller "Inventory Server" root prim empty
You may leave the E2V scripts in the Inventory Servers if you are running E2V and EasyVend side-by-side until E2V's cutoff date.
E2V Store Controller
- Leave the notecard there
- Drop in the "CasperVend2 EasyVend Store Controller" script
You may leave the E2V script(s) in the controller if you are running E2V and EasyVend side by side until E2V's cutoff date.
E2V Vendors
Inside EasyVend v2.01 and later you will find the MigrationBee:
- Rez the "CasperVend2 Migration Bee E2V" on each sim/region you have E2V vendors
- Click it, you'll get a popup menu
- Select "Upgrade"
- WAIT while it goes around the sim/region swapping out the scripts in all your vendors
- ANSWER the debit perm windows as they come up
- Repeat on each sim/region you have vendors on
The MigrationBee will handle ALL of YOUR E2V vendors on that sim/region, and must be repeated on every other sim/region you have E2V vendors on.
Delivery Methods After Conversion
Your customers will only be able to automatically claim redeliveries for copiable products that started off in the DropBox.
Copiable products that you sell via the in-vendor option of folder or locally delivered object, are *NOT* added to the redelivery list by default - you will need to log in to the CasperVend website and manually choose the product to redeliver from your DropBox.
Redeliverable Delivery (Products in DropBox)
Redelivery terminals in CasperVend always depend on networked/remote delivery. Thus, there always needs to be a packaged copy of your products in a DropBox.
- Rez the CasperVend DropBox out of the main Premium Vendors box. (Or alternately, drop a copy of the CasperVend DropBox script into each inventory STORAGE server from E2V.)
- Your packaged products - not folders - will need to go in here to be used for remote delivery.
- The DropBox will, of course, need to stay rezzed in order to deliver your products, just like the E2V inventory server.
- You should have more than one set of DropBox(es) on different sims/regions, in order to bypass the occasional bug where the sims/regions stop listening to the outside internet (i.e., delivery instructions from Casper's servers.) Need to rent a space to put your dropbox(es)? See the DropBox storage page.
Please note: This is not a "primary vs backup" method. CasperVend "calls" to the DropBoxes on a very efficient basis - the first one (1) that responds, (2) that has the product, is (3) the one that delivers the product. You can read more about this and other DropBox tips and tricks by clicking here.
Non-Redeliverable Delivery
EasyVend will first check for deliverable items in the vendor, if it finds one, it delivers that first instead of a duplicate that may be in the dropbox
Vendor Delivery - Packaged
If the product is stored in the vendor prim's inventory, the vendor script can give it directly to the customer, on the spot. The item must be a single object (e.g. a box, bag or other packaging) named exactly the same as the vendor prim. This item will go into the customer's Objects folder in their inventory
Vendor Delivery - Folder
You can also place a collection of "loose" items inside the vendor prim, which will cause the vendor script to deliver a folder to the customer, named the same as the vendor prim, and containing all the items from inside the vendor prim, minus the vendor script.
Discounts & Credits
- Store Credt - EasyVend uses the E2V Store Controller settings notecard (see below)
- Rewards are processed by the CasperVend website, because that portion happens AFTER the transaction is completed
- TopUP Terminals on EasyVend may only be used to check existing balances.
Gift Cards
Product listing on the website WILL require a texture UUID (because that's how the CasperVend gift card calls it) - even if you have the texture on the vendor already.
Gifting
Gifting - Local/Folder Delivery
Recipient must be on the SAME sim/region (this is a grid/LSL limitation.)
Gifting - Remote Delivery
Recipient may be anywhere on the grid.
Store Controllers - Pricing, Discounts & Profit Splits
EasyVend does NOT use any product pricing on the CasperVend website - if you want the website to reflect the vendor price, you must change the information on the website manually.
Create Your Store Controller Object
This object will control the settings for all of your EasyVend vendors (not any regular CasperVend ones) on the region where THAT controller is located.
- Rez a new prim
- Drop in the "3) CasperVend2 EasyVend Store Controller" script
- Add in your "settings" notecard that you have created for vendors on that sim/region(see instructions above for how to create this)
That's it!
You WILL need 1 copy of this on each sim/region, with an appropriately edited "settings" notecard, that you have vendors on, just like with E2V.
Your Settings Notecard
The Store Controller's settings note card contains the options for the vendors you have on THAT sim/region.
The note card is roughly divided up into 4 sections:
- Defaults
- Price Groups
- Sales
- Splits
For example:
# Defaults N-Reward=2% G-Reward=5% # Price Groups PriceGroup=one,50 PriceGroup=two,100 # Sales Sale= ExcludedGroups= SpendCreditDuringSale=false EarnCreditDuringSale=false # Splits Split=
Default Settings
N-Reward
Specifies the default non-group buyer's reward value to be used for each vendor, if the value is not specified either on the vendor, or in the vendor's price group. This value can be either a percentage (if you include the % sign) or an absolute value. This value can be either a percentage (if you include the % sign) or an absolute value. Leave this blank, or use a 0, to prevent any default value from being used.
G-Reward
Specifies the default customer group's buyer reward value to be used for each vendor when the customer has the same group tag active that the vendor object is set to, if the value is not specified either on the vendor, or in the vendor's price group. This value can be either a percentage (if you include the % sign) or an absolute value.
Price Groups
Price groups allow you to define a single set of vendor options, in one place, then use those options on as many different vendors as you want. Changes to the price group only need to made to the group itself (in the settings notecard) and all vendors using THAT group will be updated automatically.
You can also put specific groups on sale simply by changing their prices, while the rest of your products remain unchanged.
Each group is defined on a new line that begins with:
PriceGroup=
and consists of at least two items: the name of the group, and the price of the group. You can also specify buyer's reward values on the group, by adding them after the group's price.
Here are some examples that you would find in the the Controller's notecard:
N-Reward=2% G-Reward=5% PriceGroup=boots,250 PriceGroup=jackets,175,0,10% PriceGroup=hats,50,,12%
In the above examples, any vendors in the "boots" group will be priced at L$250, and will use 2% and 5% for the reward values (they aren't defined because they aren't any different from the default.) Vendors in the "jackets" group will be priced at L$175, and will give no rewards to non-group members, and 10% to group members. Lastly, vendors in the "hats" group will be priced at L$50, and will use 2% and 12% as the reward values.
To place a vendor in a Price Group, you use the group's name instead of a price in the vendor options, such as:
[boots]
You can still override the reward values of a Price Group, if needed:
[boots,0,0]
Sales & Discounts
You can place all of your vendors on that region on sale by putting either a percentage or a flat amount into the Sale field. Once the settings are saved and loaded, the controller will restart all the vendors, and they will take on the sale pricing.
You can exclude certain pricing groups from the store-wide sale by adding their names, separated by commas, to the ExcludedGroups line.
The SpendCreditDuringSale option controls whether customers will be able to to buy on-sale items using their store credit or not. Put "true" or "false." Note that vendors in groups that are excluded from the sale are not affected by this setting.
The EarnCreditDuringSale options control how buyer's rewards behave during the sale. Use "false" to prevent on-sale vendors from issuing buyer's rewards.
Splits, Profit
Profit splits in the controller's settings notecard are simply a place to DEFINE any existing splits. Listing a split in the notecard does NOT automatically mean that they'll actually be used everywhere. Where a split gets USED depends on what you key into the vendor object's description field.
BE CAREFUL! You are responsible for the amount of profit splits you set up - if you're not careful, you may end up sending, for example, 150% of a product price out in splits, and losing money!
Components of a Profit Split Definition
There are 3 parts to a split. They are:
- Split Name
- Split Target
- Split Amount.
Split Name
You need a short, easy to remember name for what you're doing with this split. Are you paying rent? Are you paying your CSR? Paying your manager, or co-designer? Making a donation? Whatever it is you're doing with the split, you'll need to call this split something.
Split Target
Next you'll need the UUID of the avatar you want to pay. You can get an avatar's UUID from their profile.
Split Amount
Lastly, you'll need the amount you want to give this avatar on each sale. This is typically written as a percentage, like 25% or whatever amount you choose.
As an example, this in the notecard:
Split=mgr,ad7b01b9-9b71-4beb-ba05-0c353ade5952,50%
shows:
- split name of "mgr"
- split target being the avatar UUID (or "avatar key" to some people)
- split amount of 50% .
Pick Which Vendors Use the Split
You can apply a split to any vendor by adding the Split Name to the vendor's description line as part of the vendor's pricing options.
Normally vendor's description line has 3 components to it, which are price, n-reward, and g-reward, written like this.
Yes, always including the [square brackets]:
[150,2%,5%]
You can add a fourth component, which is the Split Name, like this:
[150,2%,5%,mgr]
A vendor with the above pricing options will pay 50% of its sale price of L$150 to the avatar specified in the split called "mgr" inside the Controller.
In this way, you can easily change the Split Target or Split Amount on many vendors at once, simply by changing the Store Controller, instead of editing every vendor using the split.
Formatting: Always Remember
You must have FOUR parts to the vendor pricing to use splits! They are price, n-reward, g-reward, and split name.
But what if you're not using Buyer's Rewards? The Split Name still needs to be the 4th item! Here's how to do this if you are not using Buyer's Rewards at all (or if you just want to use the default values from the Store Contoller):
In our example above, the Buyer's Rewards were included in the options:
[150,2%,5%,mgr]
You can "skip" writing the Buyer's Rewards as shown in this example:
[150, , ,mgr]
But without spaces! This keeps the 4 required places by explicitly defining them as existing, while not giving them a numbered percentage.
[150,,,mgr]
Or, you can disable Buyer's Rewards by using 0's:
[150,0,0,mgr]
Omitting a Value vs Explicit Definitions
When you don't supply a value for buyer's rewards, you are indicating that you want to use the default values (if they exist elsewhere in the settings notecard).
This means that leaving them blank is NOT the same thing as using explict 0's.
For example:
N-Reward=2% G-Reward=10% PriceGroup=socks,100 PriceGroup=shoes,100,,8% PriceGroup=pants,100,0 PriceGroup=shirts,100,0,0
The above settings will result in the following values:
socks ... n-reward: L$2, g-reward: L$10 shoes ... n-reward: L$2, g-reward: L$8 pants ... n-reward: L$0, g-reward: L$10 shirts ... n-reward: L$0, g-reward: L$0
Vending At Events
You will need to set up NORMAL CasperVend vendors ahead of time, on your own sim/region, so that all you need to do is pick them up and rez them out at the event.
- Package your new product into a box/bag/etc.
- Put that product in your DropBox
- Create your new CasperVend full listing
- Pull out a NORMAL CasperVend Vendor (Do NOT use EasyVend)
- Pull out the Event Vendor script box and unpack that
- Use the CasperVend vendor's config page to add the new product to the vendor
- Replace the standard CasperVend script with the Event Vendor script
- Pick up your new event vendor, and rez at the event.
If you use EasyVend for events anyway, then you need to know
- If you are using local/folder delivery
- AND you do NOT have a packaged product defined in the product listing for each product sold at the event
- AND your products are copiable
Your customers will *NOT* be able to redeliver their purchase once the event is over and your vendors are returned/deleted.
Creating New EasyVend Vendors
- Rez your vendor object
- The name of the vendor MUST MATCH the name of the inventory item, Except:
- There may be additional text at the end
- The word "vendor" at the end will be ignored
- Inventory items may be named with multiple words, such as "mesh red boots"
- Edit the vendor's description field to indicate pricing and - if used - buyer rewards (loyalty rewards) and/or splits (see below)
Naming Suffix Rules
Suffixes are handled according to E2V rules, just without the use of notecards.
Name Matching
Your vendor's name must match the name of your product box in the Inventory Server. This match has to be exact, including punctuation, capitalization, and spacing. (The most common misnaming between vendors and boxes is extra spaces somewhere between words!)
There are two exceptions to this rule:
- 1) A vendor object may contain the word "vendor" at the very end of the name, separated by a space. This text will be ignored when matching the vendor to a product box. Thus "My Fancy Shoes Vendor" will actually deliver a product named "My Fancy Shoes" (your transactions will list this name, as well).
- 2) The Inventory Server supports the notion of "suffixes" which are a way to add extra text onto the end of a product box, yet not require that text on a vendor. For example, all of your product boxes might carry the text "(Wear to unpack)" on the end of them. But this text isn't helpful on a vendor or transaction listing. For example, using the suffixes feature, you can name your vendor "My Fancy Pants" and name your product box "My Fancy Pants (Wear to unpack)". Note also that if you use folder delivery mode in this example, the customer's folder will be named the same as the vendor - without the unsightly "(Wear to unpack)" which doesn't make much sense in a folder name.
About the Description Field
The description field may contain:
- Pricing (or name of price group, as defined in controller's settings notecard)
- Pricing + loyalty/buyer rewards
- Pricing + loyalty/buyer rewards + splits
Remember, any rewards or splits that are not being used need to be explicitly defined instead of being left blank.
Cannot Auto-Detect Name Changes
Please remember that scripts cannot automatically detect when a prim's name or description changes. So any time you make a change to the prim name or description, you must also click > get popup > reset the vendor script. You can do this easily by selecting "Reset" from the vendor's popup menu.
Converting from EasyVend to regular CasperVend
The easyvend script automagically creates basic product listings for you. Of course there is only minimal information pre-filled from the vendor objects inworld, and so anything missing (when you're ready to move to regular CasperVend) won't take that long to add.
Using Remote Delivery (E2V Inventory Server style)
- Rez a "Headless" vendor from inventory
- Right-click > open > Copy scripts to inventory.
- You'll have a Headless folder with regular CasperVend script + MAPPING notecard
- Right-click > Edit > Contents on your existing vendor object
- Delete the EasyVend script
- From the Headless folder, drag the vendor script + MAPPING notecard to your vendor object.
- Click > get popup menu > select "Admin"
- Log in to CasperVend website
- You'll get to the vendor's config page
- Select the individual product package FOR that vendor object
From Using Local / Folder Deliveries
- As above, PLUS
- Package up your product in a box/bag/etc
- Put them in your DropBox
- Log in to CasperVend website
- Find the product
- Edit the product
- Point "delivery object" (very first option in the product listing) to the packaged product in the DropBox.
Troubleshooting / FAQ
- Q: Vendor is missing in the list - it was correctly converted inworld, but has no product page on the website.
- A: Make sure the product is in the dropbox, and reset the vendors. If that doesn't auto-create the product page, you'll need to do that manually.
- Q: My vendors keep reverting to L$1!
- A: You need to add the EAsyVend store controller script to your store controller object.
- Q: Will EasyVend support old E2V gift cards?
- A: CasperVend cannot access the database that contains the E2V gift card information, so no we cannot support E2V gift cards.
- Q: I'm using a very old version of E2V - will EasyVend convert my vendors?
- A: Casper does not have access to a copy of the really old versions of E2V, so we cannot guarantee compatibility. Please try on a single vendor first to see whether it even works!
- Q: Customer purchased my product, but only received SOME of the items
- A: This is a known issue with 2.0 and prior - and has been fixed in EasyVend 2.01 - please upgrade!
- Q: Profit splits aren't working right
- A: This is a known issue with 2.0 and prior - and has been fixed in EasyVend 2.01 - please upgrade!
- Q: How does it deal with multiple vendors selling the same product? Does it create a product listing for each vendor or only one?
- A: If a product already exists which delivers the item, it'll use that product listing instead, so it works fine. However, if the name is different in any way (yes, capitalisation and typos DO count!) then it'll generate a new product listing.
- Q. (Local delivery) The single color items seem to be working just fine but the fatpacks are only delivering ONE item out of the folder.
- A. If the vendor finds an EXACT match for the vendor's name within the contents, it'll delivery ONLY that item. If the vendor does NOT find an exact match for that name, it'll deliver a folder. So you should rename EITHER the vendor or the item in order to have fatpacks deliver properly with local/folder delivery mode.
- Q2. If I opt for dropbox delivery, nothing ever delivers, and redelivery no longer works.
- A. This happened because there wasn't a matching item in the dropbox when the vendor booted up. The fix is (1) Make sure that item is in the dropbox (matching name, remember) and (2) reset the vendor.