diff --git a/app/controllers/external_users/claims_controller.rb b/app/controllers/external_users/claims_controller.rb
index e9cb879e0d..c2c55af1a0 100644
--- a/app/controllers/external_users/claims_controller.rb
+++ b/app/controllers/external_users/claims_controller.rb
@@ -294,6 +294,7 @@ def claim_params
:case_type_id,
:case_stage_id,
:offence_id,
+ :london_rates_apply,
:travel_expense_additional_information,
:first_day_of_trial,
:estimated_trial_length,
diff --git a/app/controllers/external_users/fees/prices_controller.rb b/app/controllers/external_users/fees/prices_controller.rb
index d580af86aa..b3dd45a8bf 100644
--- a/app/controllers/external_users/fees/prices_controller.rb
+++ b/app/controllers/external_users/fees/prices_controller.rb
@@ -40,6 +40,7 @@ def calculator_params
:claim_id,
:fee_type_id,
:advocate_category,
+ :london_rates_apply,
:ppe,
:pw,
:days,
diff --git a/app/interfaces/api/custom_validations/optional_boolean_validation.rb b/app/interfaces/api/custom_validations/optional_boolean_validation.rb
new file mode 100644
index 0000000000..ddc61ca18b
--- /dev/null
+++ b/app/interfaces/api/custom_validations/optional_boolean_validation.rb
@@ -0,0 +1,14 @@
+module API
+ module CustomValidations
+ class OptionalBooleanValidation < Grape::Validations::Validators::Base
+ def validate_param!(attr_name, params)
+ london_rates_apply = params[attr_name]
+
+ raise ArgumentError unless london_rates_apply.nil? || london_rates_apply.in?([true, false])
+ rescue ArgumentError
+ raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)],
+ message: 'must be true, false or nil')
+ end
+ end
+ end
+end
diff --git a/app/interfaces/api/helpers/api_helper.rb b/app/interfaces/api/helpers/api_helper.rb
index d00bbb3f86..895676a32e 100644
--- a/app/interfaces/api/helpers/api_helper.rb
+++ b/app/interfaces/api/helpers/api_helper.rb
@@ -2,6 +2,7 @@ module API
module Helpers
module APIHelper
require_relative '../custom_validations/standard_json_format'
+ require_relative '../custom_validations/optional_boolean_validation'
require_relative '../api_response'
require_relative '../error_response'
diff --git a/app/interfaces/api/v1/claim_params_helper.rb b/app/interfaces/api/v1/claim_params_helper.rb
index b296fd5a84..56c4882d0e 100644
--- a/app/interfaces/api/v1/claim_params_helper.rb
+++ b/app/interfaces/api/v1/claim_params_helper.rb
@@ -41,6 +41,10 @@ module ClaimParamsHelper
optional :supplier_number, type: String, desc: 'REQUIRED. The supplier number.'
optional :transfer_court_id, type: Integer, desc: 'OPTIONAL: The unique identifier for the transfer court.'
optional :transfer_case_number, type: String, desc: 'OPTIONAL: The case number or URN for the transfer court.'
+ optional :london_rates_apply,
+ type: Boolean,
+ desc: 'OPTIONAL: Whether the firm for the claim is based in a London borough or not',
+ optional_boolean_validation: true
end
params :legacy_agfs_params do
diff --git a/app/services/claims/fee_calculator/calculate_price.rb b/app/services/claims/fee_calculator/calculate_price.rb
index 5611f124b1..1a15c32f89 100644
--- a/app/services/claims/fee_calculator/calculate_price.rb
+++ b/app/services/claims/fee_calculator/calculate_price.rb
@@ -64,6 +64,7 @@ def setup(options)
@pages_of_prosecuting_evidence = options[:pages_of_prosecuting_evidence] || claim.prosecution_evidence
@quantity = options[:quantity] || 1
@current_page_fees = options[:fees].values
+ @london_rates_apply = claim.london_rates_apply
exclusions
rescue StandardError
raise Exceptions::InsufficientData
@@ -136,7 +137,8 @@ def fee_type_mappings
end
def fee_type_code_for(fee_type)
- return 'LIT_FEE' if lgfs?
+ # For LGFS Misc Fees, use fee type mappings. For all other LGFS fees, return LIT_FEE
+ return 'LIT_FEE' if lgfs? & !fee_type.is_a?(Fee::MiscFeeType)
fee_type = case_uplift_parent if fee_type.case_uplift?
fee_type = defendant_uplift_parent if fee_type.defendant_uplift?
fee_type_mappings.all[fee_type&.unique_code&.to_sym][:bill_subtype]
diff --git a/app/services/claims/fee_calculator/unit_price.rb b/app/services/claims/fee_calculator/unit_price.rb
index 3df38b3fde..cc99ba8dc7 100644
--- a/app/services/claims/fee_calculator/unit_price.rb
+++ b/app/services/claims/fee_calculator/unit_price.rb
@@ -35,8 +35,7 @@ def amount
end
def price_options
- opts = {}
- opts[:scenario] = scenario.id
+ opts = { scenario: scenario.id }
opts[:offence_class] = offence_class_or_default
opts[:advocate_type] = advocate_type
opts[:fee_type_code] = fee_type_code_for(fee_type)
@@ -44,6 +43,10 @@ def price_options
opts[:limit_to] = limit_to
opts[:unit] = unit
opts.keep_if { |_k, v| v.present? }
+ # Filter above will filter out false, which is a valid value for london_rates_apply
+ # Only send london_rates_apply to requests for Misc Fees where it is not nil
+ opts[:london_rates_apply] = @london_rates_apply if !@london_rates_apply.nil? && fee_type.is_a?(Fee::MiscFeeType)
+ opts
end
def unit_price
diff --git a/app/validators/base_validator.rb b/app/validators/base_validator.rb
index 5a6e189c22..d8bcdbb96c 100644
--- a/app/validators/base_validator.rb
+++ b/app/validators/base_validator.rb
@@ -60,6 +60,10 @@ def validate_boolean_presence(attribute, message)
add_error(attribute, message) if attr_nil?(attribute)
end
+ def validate_optional_boolean(attribute, message)
+ add_error(attribute, message) unless @record.__send__(attribute).in? [true, false, nil]
+ end
+
def validate_max_length(attribute, length, message)
add_error(attribute, message) if @record.__send__(attribute).to_s.size > length
end
diff --git a/app/validators/claim/base_claim_validator.rb b/app/validators/claim/base_claim_validator.rb
index bbee0d4b7c..8ddf62ad3a 100644
--- a/app/validators/claim/base_claim_validator.rb
+++ b/app/validators/claim/base_claim_validator.rb
@@ -60,6 +60,11 @@ def validate_creator
validate_presence(:creator, 'blank') unless @record.errors.key?(:creator)
end
+ # optional, must be boolean if present
+ def validate_london_rates_apply
+ validate_optional_boolean(:london_rates_apply, :not_boolean_or_nil)
+ end
+
# object must be present
def validate_case_type_id
validate_belongs_to_object_presence(:case_type, :blank)
diff --git a/app/validators/claim/interim_claim_validator.rb b/app/validators/claim/interim_claim_validator.rb
index 0597005600..6ceb1ea794 100644
--- a/app/validators/claim/interim_claim_validator.rb
+++ b/app/validators/claim/interim_claim_validator.rb
@@ -8,6 +8,7 @@ def self.fields_for_steps
case_type_id
court_id
case_number
+ london_rates_apply
case_transferred_from_another_court
transfer_court_id
transfer_case_number
diff --git a/app/validators/claim/litigator_claim_validator.rb b/app/validators/claim/litigator_claim_validator.rb
index 42aa03fa84..a24c141c82 100644
--- a/app/validators/claim/litigator_claim_validator.rb
+++ b/app/validators/claim/litigator_claim_validator.rb
@@ -7,6 +7,7 @@ def self.fields_for_steps
case_details: %i[
case_type_id
court_id
+ london_rates_apply
case_number
case_transferred_from_another_court
transfer_court_id
diff --git a/app/validators/claim/litigator_hardship_claim_validator.rb b/app/validators/claim/litigator_hardship_claim_validator.rb
index 67872c46e7..65e51aed95 100644
--- a/app/validators/claim/litigator_hardship_claim_validator.rb
+++ b/app/validators/claim/litigator_hardship_claim_validator.rb
@@ -9,6 +9,7 @@ def self.fields_for_steps
case_stage_id
court_id
case_number
+ london_rates_apply
case_transferred_from_another_court
transfer_court_id
transfer_case_number
diff --git a/app/validators/claim/transfer_claim_validator.rb b/app/validators/claim/transfer_claim_validator.rb
index f983028b04..505f647b2e 100644
--- a/app/validators/claim/transfer_claim_validator.rb
+++ b/app/validators/claim/transfer_claim_validator.rb
@@ -22,6 +22,7 @@ def self.fields_for_steps
case_details: %i[
court_id
case_number
+ london_rates_apply
case_transferred_from_another_court
transfer_court_id
transfer_case_number
diff --git a/app/views/external_users/claims/case_details/_fields.html.haml b/app/views/external_users/claims/case_details/_fields.html.haml
index 40c13ce6c1..4e7b9b9b8e 100644
--- a/app/views/external_users/claims/case_details/_fields.html.haml
+++ b/app/views/external_users/claims/case_details/_fields.html.haml
@@ -7,6 +7,9 @@
label: { text: t('common.external_user.providers_ref') },
width: 'one-half'
+ - if @claim.lgfs?
+ = render partial: 'external_users/claims/case_details/london_rates', locals: { f: f }
+
- if @claim.requires_case_type?
= render partial: 'external_users/claims/case_details/case_type_fields', locals: { f: f }
diff --git a/app/views/external_users/claims/case_details/_london_rates.html.haml b/app/views/external_users/claims/case_details/_london_rates.html.haml
new file mode 100644
index 0000000000..1722443e5a
--- /dev/null
+++ b/app/views/external_users/claims/case_details/_london_rates.html.haml
@@ -0,0 +1,5 @@
+.london-rates{ id: 'london-rates' }
+ = f.govuk_radio_buttons_fieldset :london_rates_apply, legend: { size: 'm', text: t('.london_rates_title') }, hint: { text: t('.london_rates_hint') } do
+ = f.govuk_radio_button :london_rates_apply, true, label: { text: t('global_yes') }
+ = f.govuk_radio_button :london_rates_apply, false, label: { text: t('global_no') }
+
diff --git a/app/views/external_users/claims/case_details/_summary.html.haml b/app/views/external_users/claims/case_details/_summary.html.haml
index 1800745f38..9599476c0b 100644
--- a/app/views/external_users/claims/case_details/_summary.html.haml
+++ b/app/views/external_users/claims/case_details/_summary.html.haml
@@ -28,6 +28,10 @@
.unique-id-small
= claim.unique_id
+ - if claim.lgfs?
+ = govuk_summary_list_row_collection( t('external_users.claims.case_details.london_rates.london_rates') ) do
+ = t("external_users.claims.case_details.london_rates.london_rates_#{claim.london_rates_apply}")
+
- if claim.transfer_court.present?
= govuk_summary_list_row_collection( t('common.transfer_court') ) { claim.transfer_court.name if claim.transfer_court }
diff --git a/app/views/external_users/claims/misc_fees/litigators/_misc_fee_fields.html.haml b/app/views/external_users/claims/misc_fees/litigators/_misc_fee_fields.html.haml
index 80417c4e5d..9a89639ff9 100644
--- a/app/views/external_users/claims/misc_fees/litigators/_misc_fee_fields.html.haml
+++ b/app/views/external_users/claims/misc_fees/litigators/_misc_fee_fields.html.haml
@@ -1,22 +1,56 @@
-.form-section.misc-fee-group.nested-fields.js-block.fx-do-init.fx-fee-group.fx-numberedList-item{ data: { 'type': 'miscFees', autovat: @claim.apply_vat? ? 'true' : 'false' } }
+- fee = present(f.object)
+- claim = present(f.object.claim)
+
+.form-section.misc-fee-group.nested-fields.js-block.fx-do-init.fx-fee-group.fx-numberedList-item{ data: { 'type': 'miscFees', autovat: @claim.apply_vat? ? 'true' : 'false', 'block-type': 'FeeBlockCalculator' } }
= f.govuk_fieldset legend: { text: t('.misc_fee_html') } do
= link_to_remove_association f, wrapper_class: 'misc-fee-group', class: 'govuk-link govuk-!-display-none fx-numberedList-action' do
= t('common.remove_html', context: t('.misc_fee'))
- = f.govuk_radio_buttons_fieldset(:fee_type_id, form_group: {class: 'fee-type'}, legend: { size: 's', text: t('.fee_type') }) do
- - present_collection(@claim.eligible_misc_fee_types).each do |misc_fee_type|
- = f.govuk_radio_button :fee_type_id,
- misc_fee_type.id,
- label: { text: misc_fee_type.description },
- 'data-unique-code': misc_fee_type.unique_code do
- - if misc_fee_type.unique_code.eql?('MIUMO')
- = render 'warnings/unused_material_over_3_hours'
-
- = f.govuk_number_field :amount,
- label: { text: t('.net_amount_html', context: t('.misc_fee')) },
- class: 'total fee-rate',
+ = f.govuk_collection_select :fee_type_id,
+ claim.eligible_misc_fee_type_options_for_select.map{ |ft| [ft.first, ft.second, { 'data-unique-code': ft.third[:data][:unique_code] }] },
+ :second,
+ :first,
+ class: 'js-misc-fee-type js-fee-type js-fee-calculator-fee-type fx-misc-fee-calculation',
+ form_group: { class: 'fee-type fx-autocomplete-wrapper cc-fee-type' },
+ label: { text: t('.fee_type_html', context: t('.misc_fee')), size: 's' },
+ options: { include_blank: '' }
+
+ .form-group.fx-unused-materials-warning.js-hidden
+ = render 'warnings/unused_material_over_3_hours'
+
+ =f.govuk_number_field :quantity,
+ class: 'quantity fee-quantity js-fee-quantity js-fee-calculator-quantity',
+ form_group: { class: 'quantity_wrapper' },
+ hint: { text: t('.quantity_hint'), hidden: true },
+ label: { text: t('.quantity_html', context: t('.misc_fee')), size: 's' },
+ value: fee.quantity,
+ width: 5
+
+ =f.govuk_number_field :rate,
+ class: 'rate fee-rate js-fee-calculator-rate',
+ form_group: { class: 'js-unit-price-effectee calculated-unit-fee' },
+ label: { text: t('.rate_html', context: t('.misc_fee')), size: 's' },
prefix_text: '£',
- value: number_with_precision(f.object.amount, precision: 2),
- width: 'one-quarter'
+ readonly: f.object.price_calculated?,
+ value: number_with_precision(f.object.rate, precision: 2),
+ width: 5
+
+ = f.govuk_text_field :price_calculated,
+ form_group: { class: 'js-fee-calculator-success' },
+ label: { hidden: true },
+ type: 'hidden',
+ value: f.object.price_calculated?
+
+ .fee-calc-help-wrapper.hidden
+ = govuk_detail t('.help_how_we_calculate_rate_title') do
+ = t('.help_how_we_calculate_rate_body')
+
+ = govuk_summary_list_no_border do
+ = govuk_summary_list_row do
+ = govuk_summary_list_key do
+ = t('.net_amount')
+
+ = govuk_summary_list_value(class: 'fee-net-amount currency-indicator total') do
+ = fee.amount || number_to_currency(0)
diff --git a/app/views/shared/_claim.html.haml b/app/views/shared/_claim.html.haml
index bbca000b72..4b3a5ded35 100644
--- a/app/views/shared/_claim.html.haml
+++ b/app/views/shared/_claim.html.haml
@@ -39,6 +39,10 @@
%span.unique-id-small
= claim.unique_id
+ - if claim.lgfs?
+ = govuk_summary_list_row_collection( t('external_users.claims.case_details.london_rates.london_rates') ) do
+ = t("external_users.claims.case_details.london_rates.london_rates_#{claim.london_rates_apply}")
+
- if claim.transfer_court.present?
= govuk_summary_list_row_collection(t('common.transfer_court')) do
= claim.transfer_court.name
diff --git a/config/locales/en.yml b/config/locales/en.yml
index dc9786dd45..ee2f9eb9fa 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1082,6 +1082,13 @@ en:
offence_class: 'Offence class'
offence_category: 'Offence category'
select_category: 'Please select'
+ london_rates:
+ london_rates: "London fee rates"
+ london_rates_true: "This claim qualifies for London fee rates"
+ london_rates_false: "This claim does not qualify for London fee rates"
+ london_rates_: "This information has not been provided"
+ london_rates_title: "Is the firm based in a London borough?"
+ london_rates_hint: "We need to know this to check the correct rates have been used in your application"
offence_select:
offence_class: 'Offence class'
select_offence_class: 'Please select'
@@ -1527,14 +1534,22 @@ en:
or unused materials (over 3 hours) form (opens in new tab)
and attach to the claim.
misc_fee_fields:
+ quantity: *quantity
+ quantity_hint: Enter a quantity
+ quantity_html: Quantity for %{context}
+ rate: Rate
+ rate_html: Rate in pounds for %{context}
misc_fee: *miscellaneous_fee
misc_fee_html: 'Miscellaneous fees '
fee_type: *fee_type
case_numbers: *case_numbers
+ fee_type_html: Type of fee for %{context}
type_of_fee_html: '%{context} for miscellaneous fee '
net_amount: *net_amount
net_amount_html: Net amount in pounds for %{context}
remove: "Remove"
+ help_how_we_calculate_rate_title: *how_is_this_calculated_help
+ help_how_we_calculate_rate_body: We calculate the rate based upon the fee scheme and fee_type.
summary:
header: *miscellaneous_fees
financial_summary:
diff --git a/config/locales/en/error_messages/claim.yml b/config/locales/en/error_messages/claim.yml
index f33ca26631..3bf62a085d 100644
--- a/config/locales/en/error_messages/claim.yml
+++ b/config/locales/en/error_messages/claim.yml
@@ -100,6 +100,13 @@ supplier_number:
short: _
api: Supplier number is unknown
+london_rates_apply:
+ _seq: 6
+ not_boolean_or_nil:
+ long: Choose True or False to indicate if your firm is based inside a London Borough
+ short: _
+ api: london_rates_apply is not in an acceptable format - choose true, false or nil
+
external_user_id:
_seq: 10
choose_an_advocate:
@@ -1061,7 +1068,7 @@ misc_fee:
enter_a_valid_quantity_(1)_for_additional_preparation_hearing:
long: 'Enter a valid quantity (1) for additional preparation hearing'
short: _
- api: Enter a valid quantity (1) for additional preparation hearing
+ api: Enter a valid quantity (1) for additional preparation hearing
the_amount_for_the_miscellaneous_fee_exceeds_the_limit:
long: The amount for the miscellaneous fee exceeds the limit
short: _
diff --git a/config/locales/en/models/claim.yml b/config/locales/en/models/claim.yml
index 322392391c..b66e446e94 100644
--- a/config/locales/en/models/claim.yml
+++ b/config/locales/en/models/claim.yml
@@ -62,6 +62,8 @@ en:
invalid: Enter a valid legal aid transfer date
invalid_date: Enter a valid legal aid transfer date
present: The date legal aid was transferred is not allowed
+ london_rates_apply:
+ not_boolean_or_nil: london_rates_apply is not in an acceptable format - choose true, false or nil
main_hearing_date:
check_not_too_far_in_past: Main hearing date cannot be too far in the past
misc_fees:
diff --git a/db/migrate/20240702094708_add_london_fees_attribute_to_claims.rb b/db/migrate/20240702094708_add_london_fees_attribute_to_claims.rb
new file mode 100644
index 0000000000..071366366c
--- /dev/null
+++ b/db/migrate/20240702094708_add_london_fees_attribute_to_claims.rb
@@ -0,0 +1,5 @@
+class AddLondonFeesAttributeToClaims < ActiveRecord::Migration[7.0]
+ def change
+ add_column :claims, :london_fees, :boolean, null: true
+ end
+end
diff --git a/db/migrate/20240702094708_add_london_rates_apply_attribute_to_claims.rb b/db/migrate/20240702094708_add_london_rates_apply_attribute_to_claims.rb
new file mode 100644
index 0000000000..c9002555aa
--- /dev/null
+++ b/db/migrate/20240702094708_add_london_rates_apply_attribute_to_claims.rb
@@ -0,0 +1,5 @@
+class AddLondonRatesApplyAttributeToClaims < ActiveRecord::Migration[7.0]
+ def change
+ add_column :claims, :london_rates_apply, :boolean, null: true
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 832d46556e..e0a715b27b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.0].define(version: 2024_04_19_173039) do
+ActiveRecord::Schema[7.0].define(version: 2024_07_02_094708) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
enable_extension "uuid-ossp"
@@ -20,7 +20,7 @@
t.string "record_type", null: false
t.bigint "record_id", null: false
t.bigint "blob_id", null: false
- t.datetime "created_at", null: false
+ t.datetime "created_at", precision: nil, null: false
t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id"
t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
end
@@ -32,7 +32,7 @@
t.text "metadata"
t.bigint "byte_size", null: false
t.string "checksum", null: false
- t.datetime "created_at", null: false
+ t.datetime "created_at", precision: nil, null: false
t.string "service_name", null: false
t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
end
@@ -55,8 +55,8 @@
create_table "case_types", id: :serial, force: :cascade do |t|
t.string "name"
t.boolean "is_fixed_fee"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.boolean "requires_cracked_dates"
t.boolean "requires_trial_dates"
t.boolean "allow_pcmh_fee_type", default: false
@@ -70,18 +70,18 @@
create_table "case_worker_claims", id: :serial, force: :cascade do |t|
t.integer "case_worker_id"
t.integer "claim_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.index ["case_worker_id"], name: "index_case_worker_claims_on_case_worker_id"
t.index ["claim_id"], name: "index_case_worker_claims_on_claim_id"
end
create_table "case_workers", id: :serial, force: :cascade do |t|
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.integer "location_id"
t.string "roles"
- t.datetime "deleted_at"
+ t.datetime "deleted_at", precision: nil
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.index ["location_id"], name: "index_case_workers_on_location_id"
end
@@ -89,8 +89,8 @@
create_table "certification_types", id: :serial, force: :cascade do |t|
t.string "name"
t.boolean "pre_may_2015", default: false
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.string "roles"
t.index ["name"], name: "index_certification_types_on_name"
end
@@ -99,15 +99,15 @@
t.integer "claim_id"
t.string "certified_by"
t.date "certification_date"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.integer "certification_type_id"
end
create_table "claim_intentions", id: :serial, force: :cascade do |t|
t.string "form_id"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
t.integer "user_id"
t.index ["form_id"], name: "index_claim_intentions_on_form_id"
end
@@ -118,7 +118,7 @@
t.string "event"
t.string "from"
t.string "to"
- t.datetime "created_at"
+ t.datetime "created_at", precision: nil
t.string "reason_code"
t.integer "author_id"
t.integer "subject_id"
@@ -130,7 +130,7 @@
t.text "additional_information"
t.boolean "apply_vat"
t.string "state"
- t.datetime "last_submitted_at"
+ t.datetime "last_submitted_at", precision: nil
t.string "case_number"
t.string "advocate_category"
t.date "first_day_of_trial"
@@ -142,11 +142,11 @@
t.integer "external_user_id"
t.integer "court_id"
t.integer "offence_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.datetime "valid_until"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
+ t.datetime "valid_until", precision: nil
t.string "cms_number"
- t.datetime "authorised_at"
+ t.datetime "authorised_at", precision: nil
t.integer "creator_id"
t.text "evidence_notes"
t.string "evidence_checklist_ids"
@@ -160,7 +160,7 @@
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.integer "case_type_id"
t.string "form_id"
- t.datetime "original_submission_date"
+ t.datetime "original_submission_date", precision: nil
t.date "retrial_started_at"
t.integer "retrial_estimated_length", default: 0
t.integer "retrial_actual_length", default: 0
@@ -175,8 +175,8 @@
t.string "allocation_type"
t.string "transfer_case_number"
t.integer "clone_source_id"
- t.datetime "last_edited_at"
- t.datetime "deleted_at"
+ t.datetime "last_edited_at", precision: nil
+ t.datetime "deleted_at", precision: nil
t.string "providers_ref"
t.boolean "disk_evidence", default: false
t.decimal "fees_vat", default: "0.0"
@@ -188,6 +188,7 @@
t.boolean "prosecution_evidence"
t.bigint "case_stage_id"
t.date "main_hearing_date"
+ t.boolean "london_rates_apply"
t.index ["case_number"], name: "index_claims_on_case_number"
t.index ["case_stage_id"], name: "index_claims_on_case_stage_id"
t.index ["cms_number"], name: "index_claims_on_cms_number"
@@ -207,8 +208,8 @@
t.string "code"
t.string "name"
t.string "court_type"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.index ["code"], name: "index_courts_on_code"
t.index ["court_type"], name: "index_courts_on_court_type"
t.index ["name"], name: "index_courts_on_name"
@@ -216,8 +217,8 @@
create_table "dates_attended", id: :serial, force: :cascade do |t|
t.date "date"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.date "date_to"
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.string "attended_item_type"
@@ -231,8 +232,8 @@
t.date "date_of_birth"
t.boolean "order_for_judicial_apportionment"
t.integer "claim_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.index ["claim_id"], name: "index_defendants_on_claim_id"
end
@@ -243,8 +244,8 @@
t.decimal "fees", default: "0.0"
t.decimal "expenses", default: "0.0"
t.decimal "total"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.float "vat_amount", default: 0.0
t.decimal "disbursements", default: "0.0"
t.index ["claim_id"], name: "index_determinations_on_claim_id"
@@ -252,9 +253,9 @@
create_table "disbursement_types", id: :serial, force: :cascade do |t|
t.string "name"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.datetime "deleted_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
+ t.datetime "deleted_at", precision: nil
t.string "unique_code"
t.index ["name"], name: "index_disbursement_types_on_name"
t.index ["unique_code"], name: "index_disbursement_types_on_unique_code", unique: true
@@ -265,8 +266,8 @@
t.integer "claim_id"
t.decimal "net_amount"
t.decimal "vat_amount"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.decimal "total", default: "0.0"
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.index ["claim_id"], name: "index_disbursements_on_claim_id"
@@ -275,8 +276,8 @@
create_table "documents", id: :serial, force: :cascade do |t|
t.integer "claim_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.integer "external_user_id"
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.string "form_id"
@@ -293,15 +294,15 @@
t.string "name"
t.string "category"
t.string "postcode"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
t.index ["category"], name: "index_establishments_on_category"
end
create_table "expense_types", id: :serial, force: :cascade do |t|
t.string "name"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.string "roles"
t.string "reason_set"
t.string "unique_code"
@@ -316,8 +317,8 @@
t.float "quantity"
t.decimal "rate"
t.decimal "amount"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.integer "reason_id"
t.string "reason_text"
@@ -334,14 +335,14 @@
end
create_table "external_users", id: :serial, force: :cascade do |t|
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.string "supplier_number"
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.boolean "vat_registered", default: true
t.integer "provider_id"
t.string "roles"
- t.datetime "deleted_at"
+ t.datetime "deleted_at", precision: nil
t.index ["provider_id"], name: "index_external_users_on_provider_id"
t.index ["supplier_number"], name: "index_external_users_on_supplier_number"
end
@@ -349,17 +350,17 @@
create_table "fee_schemes", id: :serial, force: :cascade do |t|
t.string "name"
t.integer "version"
- t.datetime "start_date"
- t.datetime "end_date"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "start_date", precision: nil
+ t.datetime "end_date", precision: nil
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
end
create_table "fee_types", id: :serial, force: :cascade do |t|
t.string "description"
t.string "code"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.decimal "max_amount"
t.boolean "calculated", default: true
t.string "type"
@@ -378,8 +379,8 @@
t.integer "fee_type_id"
t.decimal "quantity"
t.decimal "amount"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
t.decimal "rate"
t.string "type"
@@ -397,10 +398,10 @@
create_table "injection_attempts", id: :serial, force: :cascade do |t|
t.integer "claim_id"
t.boolean "succeeded"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.json "error_messages"
- t.datetime "deleted_at"
+ t.datetime "deleted_at", precision: nil
t.index ["claim_id"], name: "index_injection_attempts_on_claim_id"
end
@@ -414,8 +415,8 @@
create_table "locations", id: :serial, force: :cascade do |t|
t.string "name"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.index ["name"], name: "index_locations_on_name"
end
@@ -423,8 +424,8 @@
t.text "body"
t.integer "claim_id"
t.integer "sender_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.index ["claim_id"], name: "index_messages_on_claim_id"
t.index ["sender_id"], name: "index_messages_on_sender_id"
end
@@ -442,11 +443,11 @@
t.date "trial_cracked_at"
t.date "trial_fixed_at"
t.date "trial_fixed_notice_at"
- t.datetime "authorised_at"
- t.datetime "created_at"
- t.datetime "date_last_assessed"
- t.datetime "last_submitted_at"
- t.datetime "original_submission_date"
+ t.datetime "authorised_at", precision: nil
+ t.datetime "created_at", precision: nil
+ t.datetime "date_last_assessed", precision: nil
+ t.datetime "last_submitted_at", precision: nil
+ t.datetime "original_submission_date", precision: nil
t.decimal "amount_authorised"
t.decimal "amount_claimed"
t.decimal "disbursements_total"
@@ -496,23 +497,23 @@
t.integer "number"
t.string "description"
t.integer "offence_category_id"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
t.index ["offence_category_id"], name: "index_offence_bands_on_offence_category_id"
end
create_table "offence_categories", id: :serial, force: :cascade do |t|
t.integer "number"
t.string "description"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
end
create_table "offence_classes", id: :serial, force: :cascade do |t|
t.string "class_letter"
t.string "description"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.index ["class_letter"], name: "index_offence_classes_on_class_letter"
t.index ["description"], name: "index_offence_classes_on_description"
end
@@ -527,8 +528,8 @@
create_table "offences", id: :serial, force: :cascade do |t|
t.string "description"
t.integer "offence_class_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.string "unique_code", default: "anyoldrubbish", null: false
t.integer "offence_band_id"
t.string "contrary"
@@ -545,8 +546,8 @@
t.boolean "vat_registered"
t.uuid "uuid"
t.uuid "api_key"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
t.string "roles"
t.index ["firm_agfs_supplier_number"], name: "index_providers_on_firm_agfs_supplier_number"
t.index ["name"], name: "index_providers_on_name"
@@ -555,8 +556,8 @@
create_table "representation_orders", id: :serial, force: :cascade do |t|
t.integer "defendant_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.string "maat_reference"
t.date "representation_order_date"
t.uuid "uuid", default: -> { "uuid_generate_v4()" }
@@ -566,13 +567,13 @@
create_table "stats_reports", id: :serial, force: :cascade do |t|
t.string "report_name"
t.string "status"
- t.datetime "started_at"
- t.datetime "completed_at"
+ t.datetime "started_at", precision: nil
+ t.datetime "completed_at", precision: nil
end
create_table "super_admins", id: :serial, force: :cascade do |t|
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
end
create_table "supplier_numbers", id: :serial, force: :cascade do |t|
@@ -595,8 +596,8 @@
t.integer "user_id"
t.integer "message_id"
t.boolean "read", default: false
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.index ["message_id"], name: "index_user_message_statuses_on_message_id"
t.index ["read"], name: "index_user_message_statuses_on_read"
t.index ["user_id"], name: "index_user_message_statuses_on_user_id"
@@ -606,26 +607,26 @@
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
- t.datetime "reset_password_sent_at"
- t.datetime "remember_created_at"
+ t.datetime "reset_password_sent_at", precision: nil
+ t.datetime "remember_created_at", precision: nil
t.integer "sign_in_count", default: 0, null: false
- t.datetime "current_sign_in_at"
- t.datetime "last_sign_in_at"
+ t.datetime "current_sign_in_at", precision: nil
+ t.datetime "last_sign_in_at", precision: nil
t.inet "current_sign_in_ip"
t.inet "last_sign_in_ip"
t.string "persona_type"
t.integer "persona_id"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
t.string "first_name"
t.string "last_name"
t.integer "failed_attempts", default: 0, null: false
- t.datetime "locked_at"
+ t.datetime "locked_at", precision: nil
t.string "unlock_token"
t.text "settings"
- t.datetime "deleted_at"
+ t.datetime "deleted_at", precision: nil
t.uuid "api_key", default: -> { "uuid_generate_v4()" }
- t.datetime "disabled_at"
+ t.datetime "disabled_at", precision: nil
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
t.index ["unlock_token"], name: "index_users_on_unlock_token", unique: true
@@ -634,8 +635,8 @@
create_table "vat_rates", id: :serial, force: :cascade do |t|
t.integer "rate_base_points"
t.date "effective_date"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", precision: nil
+ t.datetime "updated_at", precision: nil
end
create_table "versions", id: :serial, force: :cascade do |t|
@@ -644,7 +645,7 @@
t.string "event", null: false
t.string "whodunnit"
t.text "object"
- t.datetime "created_at"
+ t.datetime "created_at", precision: nil
t.text "object_changes"
t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
end
diff --git a/features/claims/litigator/scheme_nine/hardship_claim_draft_submit.feature b/features/claims/litigator/scheme_nine/hardship_claim_draft_submit.feature
index 542d7bc69d..55141e11ce 100644
--- a/features/claims/litigator/scheme_nine/hardship_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine/hardship_claim_draft_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator completes hardship claims
Then I should be on the litigator new hardship claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I enter a providers reference of 'LGFS test hardship fee for covid-19'
And I select the court 'Blackfriars'
And I enter a case number of 'A20201234'
@@ -57,6 +59,7 @@ Feature: Litigator completes hardship claims
And I should see 'Blackfriars'
And I should see 'A20201234'
And I should see 'Pre PTPH or PTPH adjourned'
+ And I should see 'This claim qualifies for London fee rates'
And I should see 'Handling stolen goods'
And I should see 'G: Other offences of dishonesty between £30,001 and £100,000'
diff --git a/features/claims/litigator/scheme_nine/interim_trial_claim_draft_submit.feature b/features/claims/litigator/scheme_nine/interim_trial_claim_draft_submit.feature
index 2ca7a8fa71..251b7c5c8a 100644
--- a/features/claims/litigator/scheme_nine/interim_trial_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine/interim_trial_claim_draft_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then I should be on the litigator new interim claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I enter a providers reference of 'LGFS test interim fee'
And I select the court 'Blackfriars'
And I select a case type of 'Trial'
@@ -29,6 +31,7 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then Claim 'A20161234' should be listed with a status of 'Draft'
When I click the claim 'A20161234'
+ Then I should see 'This claim qualifies for London fee rates'
And I edit the claim's defendants
And I enter defendant, LGFS representation order and MAAT reference
diff --git a/features/claims/litigator/scheme_nine/interim_trial_warrant_claim_draft_submit.feature b/features/claims/litigator/scheme_nine/interim_trial_warrant_claim_draft_submit.feature
index f8ae07ba60..82efb9fa1b 100644
--- a/features/claims/litigator/scheme_nine/interim_trial_warrant_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine/interim_trial_warrant_claim_draft_submit.feature
@@ -11,6 +11,8 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then I should be on the litigator new interim claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I select a case type of 'Trial'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine/litigator_contempt_claim_draft_submit.feature b/features/claims/litigator/scheme_nine/litigator_contempt_claim_draft_submit.feature
index 5a65ada965..b9b12a32b1 100644
--- a/features/claims/litigator/scheme_nine/litigator_contempt_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine/litigator_contempt_claim_draft_submit.feature
@@ -14,6 +14,8 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
And I should see 3 supplier number radios
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select a case type of 'Contempt'
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine/litigator_contempt_claim_with_errors_submit.feature b/features/claims/litigator/scheme_nine/litigator_contempt_claim_with_errors_submit.feature
index efcb6b62d3..5ba95f5360 100644
--- a/features/claims/litigator/scheme_nine/litigator_contempt_claim_with_errors_submit.feature
+++ b/features/claims/litigator/scheme_nine/litigator_contempt_claim_with_errors_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator fills out a final fee claim, there is an error, fixes it and
Then I should be on the litigator new claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I select a case type of 'Contempt'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine/litigator_expense_page.feature b/features/claims/litigator/scheme_nine/litigator_expense_page.feature
index fd8cb98182..28ef7400dc 100644
--- a/features/claims/litigator/scheme_nine/litigator_expense_page.feature
+++ b/features/claims/litigator/scheme_nine/litigator_expense_page.feature
@@ -11,6 +11,8 @@ Feature: Litigator expense specific page features
Then I should be on the litigator new claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select a case type of 'Trial'
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine/litigator_trial_claim_draft_submit.feature b/features/claims/litigator/scheme_nine/litigator_trial_claim_draft_submit.feature
index af98fbfd6b..013a14fc3d 100644
--- a/features/claims/litigator/scheme_nine/litigator_trial_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine/litigator_trial_claim_draft_submit.feature
@@ -21,6 +21,8 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then I click "Continue" I should be on the 'Case details' page and see a "Choose a supplier number" error
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I click "Continue" in the claim form
Then I should be in the 'Defendant details' form page
And I should see a page title "Enter defendant details for litigator final fees claim"
@@ -33,6 +35,7 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then Claim 'A20161234' should be listed with a status of 'Draft'
When I click the claim 'A20161234'
+ Then I should see 'This claim qualifies for London fee rates'
And I edit the claim's case details
And I should see a page title "Enter case details for litigator final fees claim"
And I should see a supplier number select list
diff --git a/features/claims/litigator/scheme_nine/transfer_claim_draft_submit.feature b/features/claims/litigator/scheme_nine/transfer_claim_draft_submit.feature
index 7e232d3df1..dce6532465 100644
--- a/features/claims/litigator/scheme_nine/transfer_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine/transfer_claim_draft_submit.feature
@@ -21,6 +21,8 @@ Feature: Litigator partially fills out a draft transfer claim, then later edits
And I click "Continue" in the claim form
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
And I enter the case concluded date
diff --git a/features/claims/litigator/scheme_nine_a/hardship_claim_draft_submit.feature b/features/claims/litigator/scheme_nine_a/hardship_claim_draft_submit.feature
index 5cac521b37..a4a4e27037 100644
--- a/features/claims/litigator/scheme_nine_a/hardship_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/hardship_claim_draft_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator completes hardship claims
Then I should be on the litigator new hardship claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I enter a providers reference of 'LGFS test hardship fee for covid-19'
And I select the court 'Blackfriars'
And I enter a case number of 'A20201234'
@@ -57,6 +59,7 @@ Feature: Litigator completes hardship claims
And I should see 'Blackfriars'
And I should see 'A20201234'
And I should see 'Pre PTPH or PTPH adjourned'
+ And I should see 'This claim qualifies for London fee rates'
And I should see 'Handling stolen goods'
And I should see 'G: Other offences of dishonesty between £30,001 and £100,000'
diff --git a/features/claims/litigator/scheme_nine_a/interim_trial_claim_draft_submit.feature b/features/claims/litigator/scheme_nine_a/interim_trial_claim_draft_submit.feature
index 31d5e9c109..648ace4a3d 100644
--- a/features/claims/litigator/scheme_nine_a/interim_trial_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/interim_trial_claim_draft_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then I should be on the litigator new interim claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I enter a providers reference of 'LGFS test interim fee'
And I select the court 'Blackfriars'
And I select a case type of 'Trial'
@@ -29,6 +31,7 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then Claim 'A20161234' should be listed with a status of 'Draft'
When I click the claim 'A20161234'
+ Then I should see 'This claim qualifies for London fee rates'
And I edit the claim's defendants
And I enter defendant, LGFS Scheme 9a representation order and MAAT reference
diff --git a/features/claims/litigator/scheme_nine_a/interim_trial_warrant_claim_draft_submit.feature b/features/claims/litigator/scheme_nine_a/interim_trial_warrant_claim_draft_submit.feature
index 09bf93bb06..fece41b2ca 100644
--- a/features/claims/litigator/scheme_nine_a/interim_trial_warrant_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/interim_trial_warrant_claim_draft_submit.feature
@@ -11,6 +11,8 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then I should be on the litigator new interim claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I select a case type of 'Trial'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_draft_submit.feature b/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_draft_submit.feature
index f9bf39423d..7791f51868 100644
--- a/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_draft_submit.feature
@@ -14,6 +14,8 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
And I should see 3 supplier number radios
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select a case type of 'Contempt'
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_with_errors_submit.feature b/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_with_errors_submit.feature
index bb807a2c8a..138a40ea2f 100644
--- a/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_with_errors_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/litigator_contempt_claim_with_errors_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator fills out a final fee claim, there is an error, fixes it and
Then I should be on the litigator new claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I select a case type of 'Contempt'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine_a/litigator_expense_page.feature b/features/claims/litigator/scheme_nine_a/litigator_expense_page.feature
index d66855c12f..93536e68ec 100644
--- a/features/claims/litigator/scheme_nine_a/litigator_expense_page.feature
+++ b/features/claims/litigator/scheme_nine_a/litigator_expense_page.feature
@@ -11,6 +11,8 @@ Feature: Litigator expense specific page features
Then I should be on the litigator new claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select a case type of 'Trial'
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_nine_a/litigator_trial_claim_draft_submit.feature b/features/claims/litigator/scheme_nine_a/litigator_trial_claim_draft_submit.feature
index 282f831732..1faf4bd382 100644
--- a/features/claims/litigator/scheme_nine_a/litigator_trial_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/litigator_trial_claim_draft_submit.feature
@@ -21,6 +21,8 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then I click "Continue" I should be on the 'Case details' page and see a "Choose a supplier number" error
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I click "Continue" in the claim form
Then I should be in the 'Defendant details' form page
And I should see a page title "Enter defendant details for litigator final fees claim"
@@ -33,6 +35,7 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then Claim 'A20161234' should be listed with a status of 'Draft'
When I click the claim 'A20161234'
+ Then I should see 'This claim qualifies for London fee rates'
And I edit the claim's case details
And I should see a page title "Enter case details for litigator final fees claim"
And I should see a supplier number select list
diff --git a/features/claims/litigator/scheme_nine_a/transfer_claim_draft_submit.feature b/features/claims/litigator/scheme_nine_a/transfer_claim_draft_submit.feature
index c3e4b8e7ed..851701e02b 100644
--- a/features/claims/litigator/scheme_nine_a/transfer_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_nine_a/transfer_claim_draft_submit.feature
@@ -21,6 +21,8 @@ Feature: Litigator partially fills out a draft transfer claim, then later edits
And I click "Continue" in the claim form
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
And I enter the case concluded date '2022-10-21'
diff --git a/features/claims/litigator/scheme_ten/hardship_claim_draft_submit.feature b/features/claims/litigator/scheme_ten/hardship_claim_draft_submit.feature
index ce0c57098a..edca37957b 100644
--- a/features/claims/litigator/scheme_ten/hardship_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_ten/hardship_claim_draft_submit.feature
@@ -13,6 +13,8 @@ Feature: Litigator completes hardship claims
Then I should be on the litigator new hardship claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'No' to London rates
And I enter a providers reference of 'LGFS test hardship fee for covid-19'
And I select the court 'Blackfriars'
And I enter a case number of 'A20201234'
@@ -58,6 +60,7 @@ Feature: Litigator completes hardship claims
And I should see 'Blackfriars'
And I should see 'A20201234'
And I should see 'Pre PTPH or PTPH adjourned'
+ And I should see 'This claim does not qualify for London fee rates'
And I should see 'Handling stolen goods'
And I should see 'G: Other offences of dishonesty between £30,001 and £100,000'
diff --git a/features/claims/litigator/scheme_ten/interim_trial_claim_draft_submit.feature b/features/claims/litigator/scheme_ten/interim_trial_claim_draft_submit.feature
index b30aedbe4d..8d5b956dc2 100644
--- a/features/claims/litigator/scheme_ten/interim_trial_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_ten/interim_trial_claim_draft_submit.feature
@@ -13,6 +13,8 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then I should be on the litigator new interim claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'No' to London rates
And I enter a providers reference of 'LGFS test interim fee'
And I select the court 'Blackfriars'
And I select a case type of 'Trial'
@@ -30,6 +32,7 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then Claim 'A20161234' should be listed with a status of 'Draft'
When I click the claim 'A20161234'
+ Then I should see 'This claim does not qualify for London fee rates'
And I edit the claim's defendants
And I enter defendant, LGFS Scheme 10 representation order and MAAT reference
diff --git a/features/claims/litigator/scheme_ten/interim_trial_warrant_claim_draft_submit.feature b/features/claims/litigator/scheme_ten/interim_trial_warrant_claim_draft_submit.feature
index f2dc4f75f0..7a6d7d2025 100644
--- a/features/claims/litigator/scheme_ten/interim_trial_warrant_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_ten/interim_trial_warrant_claim_draft_submit.feature
@@ -12,6 +12,8 @@ Feature: Litigator partially fills out a draft interim claim, then later edits a
Then I should be on the litigator new interim claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I select a case type of 'Trial'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_ten/litigator_contempt_claim_draft_submit.feature b/features/claims/litigator/scheme_ten/litigator_contempt_claim_draft_submit.feature
index e30bb8330d..4d566c8b4d 100644
--- a/features/claims/litigator/scheme_ten/litigator_contempt_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_ten/litigator_contempt_claim_draft_submit.feature
@@ -15,6 +15,8 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
And I should see 3 supplier number radios
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select a case type of 'Contempt'
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_ten/litigator_contempt_claim_with_errors_submit.feature b/features/claims/litigator/scheme_ten/litigator_contempt_claim_with_errors_submit.feature
index 4ebf89f5fe..bca9a90ed6 100644
--- a/features/claims/litigator/scheme_ten/litigator_contempt_claim_with_errors_submit.feature
+++ b/features/claims/litigator/scheme_ten/litigator_contempt_claim_with_errors_submit.feature
@@ -13,12 +13,15 @@ Feature: Litigator fills out a final fee claim, there is an error, fixes it and
Then I should be on the litigator new claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I select a case type of 'Contempt'
And I enter a case number of 'A20161234'
And I enter the case concluded date '2022-10-01'
And I enter lgfs scheme 10 main hearing date
+
Then I click "Continue" in the claim form and move to the 'Defendant details' form page
And I enter defendant, LGFS Scheme 10 representation order and MAAT reference
diff --git a/features/claims/litigator/scheme_ten/litigator_expense_page.feature b/features/claims/litigator/scheme_ten/litigator_expense_page.feature
index 89fb864db3..ccb418079a 100644
--- a/features/claims/litigator/scheme_ten/litigator_expense_page.feature
+++ b/features/claims/litigator/scheme_ten/litigator_expense_page.feature
@@ -12,6 +12,8 @@ Feature: Litigator expense specific page features
Then I should be on the litigator new claim page
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select a case type of 'Trial'
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
diff --git a/features/claims/litigator/scheme_ten/litigator_trial_claim_draft_submit.feature b/features/claims/litigator/scheme_ten/litigator_trial_claim_draft_submit.feature
index 8755d53b53..a84f2803dd 100644
--- a/features/claims/litigator/scheme_ten/litigator_trial_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_ten/litigator_trial_claim_draft_submit.feature
@@ -13,6 +13,7 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then I should be on the litigator new claim page
And I should see a page title "Enter case details for litigator final fees claim"
And I should see 3 supplier number radios
+ And I should see the London rates radios
When I select a case type of 'Trial'
And I select the court 'Blackfriars'
@@ -22,6 +23,7 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then I click "Continue" I should be on the 'Case details' page and see a "Choose a supplier number" error
When I choose the supplier number '1A222Z'
+ And I select 'No' to London rates
And I click "Continue" in the claim form
Then I should be in the 'Defendant details' form page
And I should see a page title "Enter defendant details for litigator final fees claim"
@@ -34,6 +36,7 @@ Feature: Litigator partially fills out a draft final fee claim, then later edits
Then Claim 'A20161234' should be listed with a status of 'Draft'
When I click the claim 'A20161234'
+ Then I should see 'This claim does not qualify for London fee rates'
And I edit the claim's case details
And I should see a page title "Enter case details for litigator final fees claim"
And I should see a supplier number select list
diff --git a/features/claims/litigator/scheme_ten/transfer_claim_draft_submit.feature b/features/claims/litigator/scheme_ten/transfer_claim_draft_submit.feature
index b766c31cc2..d5671f3f7b 100644
--- a/features/claims/litigator/scheme_ten/transfer_claim_draft_submit.feature
+++ b/features/claims/litigator/scheme_ten/transfer_claim_draft_submit.feature
@@ -22,12 +22,15 @@ Feature: Litigator partially fills out a draft transfer claim, then later edits
And I click "Continue" in the claim form
When I choose the supplier number '1A222Z'
+ And I should see the London rates radios
+ And I select 'Yes' to London rates
And I select the court 'Blackfriars'
And I enter a case number of 'A20161234'
And I enter the case concluded date '2022-10-21'
And I enter lgfs scheme 10 main hearing date
And I should see a page title "Enter case details for litigator transfer fees claim"
+
Then I click "Continue" in the claim form and move to the 'Defendant details' form page
And I should see a page title "Enter defendant details for litigator transfer fees claim"
diff --git a/features/fee_calculator/litigator/misc_fee_calculator_london.feature b/features/fee_calculator/litigator/misc_fee_calculator_london.feature
new file mode 100644
index 0000000000..b0d435b636
--- /dev/null
+++ b/features/fee_calculator/litigator/misc_fee_calculator_london.feature
@@ -0,0 +1,88 @@
+@javascript
+@fee_calc_vcr
+Feature: litigator completes fixed fee page using calculator
+
+ Scenario: I create a fee scheme 9 fixed fee claim using london rates
+
+ Given I am a signed in litigator
+ And My provider has supplier numbers
+ And I am on the 'Your claims' page
+ And I click 'Start a claim'
+ And I select the fee scheme 'Litigator final fee'
+ Then I should be on the litigator new claim page
+
+ When I choose the supplier number '1A222Z'
+ And I enter a providers reference of 'LGFS test misc fee calculation'
+ And I select a case type of 'Appeal against conviction'
+ And I select the court 'Blackfriars'
+ And I enter a case number of 'A20161298'
+ And I enter the case concluded date '2018-04-01'
+ And I select 'yes' to London rates
+
+ Then I click "Continue" in the claim form and move to the 'Defendant details' form page
+
+ And I enter defendant, LGFS representation order and MAAT reference
+ And I add another defendant, LGFS representation order and MAAT reference
+
+ Given I insert the VCR cassette 'features/fee_calculator/litigator/misc_fee_calculator_london'
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Fixed fees' form page
+
+ And I fill '2018-11-01' as the fixed fee date
+ And I fill '1' as the fixed fee quantity
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Miscellaneous fees' form page
+
+ When I add a litigator calculated miscellaneous fee 'Special preparation fee' with quantity of '3'
+ Then I should see a rate of '43.12'
+ And I should see a calculated fee net amount of '£129.36'
+ And I add a litigator miscellaneous fee 'Costs judge application'
+ And I should see a total calculated miscellaneous fees amount of '£265.14'
+
+ Then I eject the VCR cassette
+
+ Scenario: I create a fee scheme 10 fixed fee claim using london rates
+
+ Given the current date is '2022-10-30'
+ And I am a signed in litigator
+ And My provider has supplier numbers
+ And I am on the 'Your claims' page
+ And I click 'Start a claim'
+ And I select the fee scheme 'Litigator final fee'
+ Then I should be on the litigator new claim page
+
+ When I choose the supplier number '1A222Z'
+ And I enter a providers reference of 'LGFS misc fixed fee calculation'
+ And I select a case type of 'Appeal against conviction'
+ And I select the court 'Blackfriars'
+ And I enter a case number of 'A20161299'
+ And I enter the case concluded date '2022-10-29'
+ And I select 'yes' to London rates
+
+ Then I click "Continue" in the claim form and move to the 'Defendant details' form page
+
+ And I enter defendant, LGFS Scheme 10 representation order and MAAT reference
+ And I add another defendant, LGFS Scheme 10 representation order and MAAT reference
+
+ Given I insert the VCR cassette 'features/fee_calculator/litigator/fixed_fee_calculator'
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Fixed fees' form page
+
+ And I fill '2022-10-01' as the fixed fee date
+ And I fill '1' as the fixed fee quantity
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Miscellaneous fees' form page
+
+
+ When I add a litigator calculated miscellaneous fee 'Special preparation fee' with quantity of '3'
+ Then I should see a rate of '49.59'
+ And I should see a calculated fee net amount of '£148.77'
+ And I add a litigator miscellaneous fee 'Costs judge application'
+ And I should see a total calculated miscellaneous fees amount of '£284.55'
+
+ Then I eject the VCR cassette
+
diff --git a/features/fee_calculator/litigator/misc_fee_calculator_nonlondon.feature b/features/fee_calculator/litigator/misc_fee_calculator_nonlondon.feature
new file mode 100644
index 0000000000..e381f32c86
--- /dev/null
+++ b/features/fee_calculator/litigator/misc_fee_calculator_nonlondon.feature
@@ -0,0 +1,88 @@
+@javascript
+@fee_calc_vcr
+Feature: litigator completes fixed fee page using calculator
+
+ Scenario: I create a fee scheme 9 fixed fee claim using non-london rates
+
+ Given I am a signed in litigator
+ And My provider has supplier numbers
+ And I am on the 'Your claims' page
+ And I click 'Start a claim'
+ And I select the fee scheme 'Litigator final fee'
+ Then I should be on the litigator new claim page
+
+ When I choose the supplier number '1A222Z'
+ And I enter a providers reference of 'LGFS test misc fee calculation'
+ And I select a case type of 'Appeal against conviction'
+ And I select the court 'Blackfriars'
+ And I enter a case number of 'A20161298'
+ And I enter the case concluded date '2018-04-01'
+ And I select 'no' to London rates
+
+ Then I click "Continue" in the claim form and move to the 'Defendant details' form page
+
+ And I enter defendant, LGFS representation order and MAAT reference
+ And I add another defendant, LGFS representation order and MAAT reference
+
+ Given I insert the VCR cassette 'features/fee_calculator/litigator/misc_fee_calculator_nonlondon'
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Fixed fees' form page
+
+ And I fill '2018-11-01' as the fixed fee date
+ And I fill '1' as the fixed fee quantity
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Miscellaneous fees' form page
+
+ When I add a litigator calculated miscellaneous fee 'Special preparation fee' with quantity of '3'
+ Then I should see a rate of '41.06'
+ And I should see a calculated fee net amount of '£123.18'
+ And I add a litigator miscellaneous fee 'Costs judge application'
+ And I should see a total calculated miscellaneous fees amount of '£258.96'
+
+ Then I eject the VCR cassette
+
+
+ Scenario: I create a fee scheme 10 fixed fee claim using non-london rates
+
+ Given the current date is '2022-10-30'
+ And I am a signed in litigator
+ And My provider has supplier numbers
+ And I am on the 'Your claims' page
+ And I click 'Start a claim'
+ And I select the fee scheme 'Litigator final fee'
+ Then I should be on the litigator new claim page
+
+ When I choose the supplier number '1A222Z'
+ And I enter a providers reference of 'LGFS misc fixed fee calculation'
+ And I select a case type of 'Appeal against conviction'
+ And I select the court 'Blackfriars'
+ And I enter a case number of 'A20161299'
+ And I enter the case concluded date '2022-10-29'
+ And I select 'no' to London rates
+
+ Then I click "Continue" in the claim form and move to the 'Defendant details' form page
+
+ And I enter defendant, LGFS Scheme 10 representation order and MAAT reference
+ And I add another defendant, LGFS Scheme 10 representation order and MAAT reference
+
+ Given I insert the VCR cassette 'features/fee_calculator/litigator/fixed_fee_calculator'
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Fixed fees' form page
+
+ And I fill '2022-10-01' as the fixed fee date
+ And I fill '1' as the fixed fee quantity
+
+ Then I click "Continue" in the claim form
+ And I should be in the 'Miscellaneous fees' form page
+
+ When I add a litigator calculated miscellaneous fee 'Special preparation fee' with quantity of '3'
+ Then I should see a rate of '47.22'
+ And I should see a calculated fee net amount of '£141.66'
+ And I add a litigator miscellaneous fee 'Costs judge application'
+ And I should see a total calculated miscellaneous fees amount of '£277.44'
+
+ Then I eject the VCR cassette
+
diff --git a/features/page_objects/claim_form_page.rb b/features/page_objects/claim_form_page.rb
index f3539ebc75..a39c523ee4 100644
--- a/features/page_objects/claim_form_page.rb
+++ b/features/page_objects/claim_form_page.rb
@@ -2,6 +2,7 @@
require_relative 'sections/common_autocomplete_section'
require_relative 'sections/govuk_date_section'
require_relative 'sections/supplier_numbers_section'
+require_relative 'sections/london_rates_section'
require_relative 'sections/retrial_section'
require_relative 'sections/cracked_trial_section'
require_relative 'sections/fee_dates_section'
@@ -88,6 +89,7 @@ class ClaimFormPage < BasePage
section :lgfs_supplier_number_radios, SupplierNumberRadioSection, '.lgfs-supplier-numbers'
section :auto_lgfs_supplier_number, CommonAutocomplete, ".lgfs-supplier-numbers"
+ section :london_rates, LondonRatesRadioSection, ".london-rates"
section :prosecution_evidence, YesNoSection, '.prosecution-evidence'
diff --git a/features/page_objects/litigator_claim_form_page.rb b/features/page_objects/litigator_claim_form_page.rb
index 99e0214a3b..2d0afb4b62 100644
--- a/features/page_objects/litigator_claim_form_page.rb
+++ b/features/page_objects/litigator_claim_form_page.rb
@@ -23,6 +23,7 @@ class LitigatorClaimFormPage < ClaimFormPage
element :ppe_total, "input.quantity"
element :actual_trial_length, ".js-fee-calculator-days"
section :graduated_fee_date, GOVUKDateSection, "div.graduated-fee-group"
+ element :sidebar_misc_amount, '.total-miscFees'
def select_supplier_number(number)
select number, from: "claim_supplier_number", autocomplete: false
@@ -37,4 +38,11 @@ def add_disbursement_if_required
add_another_disbursement.click
end
end
+
+ def add_govuk_misc_fee_if_required
+ if miscellaneous_fees.last.govuk_fee_type_autocomplete_input.value.present?
+ add_another_miscellaneous_fee.click
+ end
+ end
+
end
diff --git a/features/page_objects/sections/lgfs_misc_fee_section.rb b/features/page_objects/sections/lgfs_misc_fee_section.rb
index d9be6d2cf6..fd6dc80962 100644
--- a/features/page_objects/sections/lgfs_misc_fee_section.rb
+++ b/features/page_objects/sections/lgfs_misc_fee_section.rb
@@ -13,8 +13,12 @@ def choose(label)
end
class LGFSMiscFeeSection < SitePrism::Section
+ section :govuk_fee_type_autocomplete, CommonAutocomplete, ".cc-fee-type"
+ element :govuk_fee_type_autocomplete_input, ".cc-fee-type input", visible: true
+ element :quantity, "input.quantity"
+ element :rate, "input.rate"
section :fee_type, FeeTypeSection, '.fee-type'
- element :amount, 'input.total'
+ element :net_amount, '.fee-net-amount'
def populated?
amount.value.size > 0
diff --git a/features/page_objects/sections/london_rates_section.rb b/features/page_objects/sections/london_rates_section.rb
new file mode 100644
index 0000000000..c683ef54f4
--- /dev/null
+++ b/features/page_objects/sections/london_rates_section.rb
@@ -0,0 +1,9 @@
+class LondonRatesSection < SitePrism::Section
+ element :radio, 'label'
+end
+
+class LondonRatesRadioSection < SitePrism::Section
+ sections :london_rates_options, LondonRatesSection, '.govuk-radios__item'
+ element :yes, "label[for='claim-london-rates-apply-true-field']"
+ element :no, "label[for='claim-london-rates-apply-field']"
+end
diff --git a/features/step_definitions/common_steps.rb b/features/step_definitions/common_steps.rb
index f910456b7a..6ea01ebb77 100644
--- a/features/step_definitions/common_steps.rb
+++ b/features/step_definitions/common_steps.rb
@@ -47,6 +47,15 @@
@claim_form_page.select_supplier_number(number)
end
+And (/^I should see the London rates radios$/) do
+ expect(@claim_form_page.london_rates).to be_visible
+end
+
+And (/^I select '(.*)' to London rates$/) do |option|
+ @claim_form_page.london_rates.yes.click if option.downcase == 'yes'
+ @claim_form_page.london_rates.no.click if option.downcase == 'no'
+end
+
When(/^I select the offence category '(.*?)'$/) do |offence_cat|
@claim_form_page.auto_offence.choose_autocomplete_option(offence_cat)
wait_for_ajax
diff --git a/features/step_definitions/litigator_claim_steps.rb b/features/step_definitions/litigator_claim_steps.rb
index 32d2ba0103..674b16335d 100644
--- a/features/step_definitions/litigator_claim_steps.rb
+++ b/features/step_definitions/litigator_claim_steps.rb
@@ -76,9 +76,35 @@
end
And(/^I add a litigator miscellaneous fee '(.*)'$/) do |name|
- @litigator_claim_form_page.add_misc_fee_if_required
- @litigator_claim_form_page.all('label', text: name).last.click
- @litigator_claim_form_page.miscellaneous_fees.last.amount.set "135.78"
+ @litigator_claim_form_page.add_govuk_misc_fee_if_required
+ @litigator_claim_form_page.miscellaneous_fees.last.govuk_fee_type_autocomplete.choose_autocomplete_option(name)
+ @litigator_claim_form_page.miscellaneous_fees.last.govuk_fee_type_autocomplete_input.send_keys(:tab)
+ @litigator_claim_form_page.miscellaneous_fees.last.quantity.set "1"
+ @litigator_claim_form_page.miscellaneous_fees.last.rate.set "135.78"
+end
+
+And(/^I should see a calculated fee net amount of '(.*)'$/) do |amount|
+ expect(@litigator_claim_form_page.miscellaneous_fees.last.net_amount.text).to eq(amount)
+end
+
+And(/^I should see a total calculated miscellaneous fees amount of '(.*)'$/) do |amount|
+ expect(@litigator_claim_form_page.sidebar_misc_amount.text).to eq(amount)
+end
+
+When(/^I add a litigator calculated miscellaneous fee '(.*?)'(?: with quantity of '(.*?)')$/) do |name, quantity|
+ quantity = quantity.present? ? quantity : '1'
+ @litigator_claim_form_page.miscellaneous_fees.last.govuk_fee_type_autocomplete.choose_autocomplete_option(name)
+ @litigator_claim_form_page.miscellaneous_fees.last.govuk_fee_type_autocomplete_input.send_keys(:tab)
+ wait_for_debounce
+ wait_for_ajax
+ @litigator_claim_form_page.miscellaneous_fees.last.quantity.set quantity
+ @litigator_claim_form_page.miscellaneous_fees.last.quantity.send_keys(:tab)
+ wait_for_debounce
+ wait_for_ajax
+end
+
+Then(/^I should see a rate of '(.*?)'$/) do |rate|
+ expect(@litigator_claim_form_page.miscellaneous_fees.last.rate.value).to eq(rate)
end
Then(/^the first miscellaneous fee should have fee types\s*'([^']*)'$/) do |descriptions|
diff --git a/spec/api/v1/external_users/claims/final_claim_spec.rb b/spec/api/v1/external_users/claims/final_claim_spec.rb
index d5cb18cd29..867446dcce 100644
--- a/spec/api/v1/external_users/claims/final_claim_spec.rb
+++ b/spec/api/v1/external_users/claims/final_claim_spec.rb
@@ -17,6 +17,7 @@
api_key: provider.api_key,
creator_email: vendor.user.email,
user_email: litigator.user.email,
+ london_rates_apply: true,
supplier_number: provider.lgfs_supplier_numbers.first,
case_type_id: create(:case_type, :trial).id,
case_number: 'A20161234',
@@ -36,7 +37,10 @@
relative_endpoint: LITIGATOR_FINAL_VALIDATE_ENDPOINT
include_examples 'optional parameter validation', optional_parameters: %i[main_hearing_date],
relative_endpoint: LITIGATOR_FINAL_VALIDATE_ENDPOINT
+
it_behaves_like 'a claim endpoint', relative_endpoint: :final
it_behaves_like 'a claim validate endpoint', relative_endpoint: :final
it_behaves_like 'a claim create endpoint', relative_endpoint: :final
+ include_examples 'create claim with london rates', relative_endpoint: :final
+ include_examples 'validate London rates', relative_endpoint: :final
end
diff --git a/spec/api/v1/external_users/claims/interim_claim_spec.rb b/spec/api/v1/external_users/claims/interim_claim_spec.rb
index a6d524f50d..b19fe287ca 100644
--- a/spec/api/v1/external_users/claims/interim_claim_spec.rb
+++ b/spec/api/v1/external_users/claims/interim_claim_spec.rb
@@ -17,6 +17,7 @@
api_key: provider.api_key,
creator_email: vendor.user.email,
user_email: litigator.user.email,
+ london_rates_apply: false,
supplier_number: provider.lgfs_supplier_numbers.first.supplier_number,
case_type_id: create(:case_type, :trial).id,
case_number: 'A20161234',
@@ -37,4 +38,6 @@
it_behaves_like 'a claim endpoint', relative_endpoint: :interim
it_behaves_like 'a claim validate endpoint', relative_endpoint: :interim
it_behaves_like 'a claim create endpoint', relative_endpoint: :interim
+ include_examples 'create claim with london rates', relative_endpoint: :interim
+ include_examples 'validate London rates', relative_endpoint: :interim
end
diff --git a/spec/api/v1/external_users/claims/litigators/hardship_claim_spec.rb b/spec/api/v1/external_users/claims/litigators/hardship_claim_spec.rb
index e8b580cbc8..3bfa8708b0 100644
--- a/spec/api/v1/external_users/claims/litigators/hardship_claim_spec.rb
+++ b/spec/api/v1/external_users/claims/litigators/hardship_claim_spec.rb
@@ -18,6 +18,7 @@
api_key: provider.api_key,
creator_email: vendor.user.email,
user_email: litigator.user.email,
+ london_rates_apply: nil,
supplier_number: provider.lgfs_supplier_numbers.first,
case_stage_unique_code: create(:case_stage, :pre_ptph_or_ptph_adjourned).unique_code,
case_number: 'A20201234',
@@ -38,4 +39,6 @@
it_behaves_like 'a claim endpoint', relative_endpoint: LITIGATOR_HARDSHIP_CLAIM_ENDPOINT
it_behaves_like 'a claim validate endpoint', relative_endpoint: LITIGATOR_HARDSHIP_CLAIM_ENDPOINT
it_behaves_like 'a claim create endpoint', relative_endpoint: LITIGATOR_HARDSHIP_CLAIM_ENDPOINT
+ include_examples 'create claim with london rates', relative_endpoint: LITIGATOR_HARDSHIP_CLAIM_ENDPOINT
+ include_examples 'validate London rates', relative_endpoint: LITIGATOR_HARDSHIP_CLAIM_ENDPOINT
end
diff --git a/spec/api/v1/external_users/claims/transfer_claim_spec.rb b/spec/api/v1/external_users/claims/transfer_claim_spec.rb
index b3a9f82e09..ddf07e4c0f 100644
--- a/spec/api/v1/external_users/claims/transfer_claim_spec.rb
+++ b/spec/api/v1/external_users/claims/transfer_claim_spec.rb
@@ -17,6 +17,7 @@
api_key: provider.api_key,
creator_email: vendor.user.email,
user_email: litigator.user.email,
+ london_rates_apply: false,
supplier_number: provider.lgfs_supplier_numbers.first,
case_type_id: create(:case_type, :trial).id,
case_number: 'A20161234',
@@ -45,4 +46,6 @@
it_behaves_like 'a claim endpoint', relative_endpoint: :transfer
it_behaves_like 'a claim validate endpoint', relative_endpoint: :transfer
it_behaves_like 'a claim create endpoint', relative_endpoint: :transfer
+ include_examples 'create claim with london rates', relative_endpoint: :transfer
+ include_examples 'validate London rates', relative_endpoint: :transfer
end
diff --git a/spec/controllers/external_users/litigators/claims_controller_spec.rb b/spec/controllers/external_users/litigators/claims_controller_spec.rb
index 4d3b2efc5d..2522be24be 100644
--- a/spec/controllers/external_users/litigators/claims_controller_spec.rb
+++ b/spec/controllers/external_users/litigators/claims_controller_spec.rb
@@ -235,6 +235,10 @@ def expense_params
expect(assigns(:claim).graduated_fee.amount).to eq 2000
end
+ it 'sets the london rates attribute' do
+ expect(assigns(:claim).london_rates_apply).to be true
+ end
+
it 'creates the miscellaneous fees' do
expect(assigns(:claim).misc_fees.size).to eq 2
expect(assigns(:claim).misc_fees.sum(&:amount)).to eq 375
@@ -465,6 +469,7 @@ def valid_claim_fee_params
{
'source' => 'web',
'supplier_number' => supplier_number,
+ 'london_rates_apply' => true,
'case_type_id' => case_type.id.to_s,
'court_id' => court.id.to_s,
'case_number' => 'A20161234',
diff --git a/spec/requests/prices_spec.rb b/spec/requests/prices_spec.rb
new file mode 100644
index 0000000000..84caeea048
--- /dev/null
+++ b/spec/requests/prices_spec.rb
@@ -0,0 +1,82 @@
+require 'rails_helper'
+
+RSpec.describe 'calcuate prices' do
+ describe 'POST /external_users/claims/claim_id/fees/calculate_price.json' do
+ subject(:calculate_price) { post external_users_claim_fees_calculate_price_url(claim.id, format: :json), params: }
+
+ # rubocop:disable RSpec/MultipleMemoizedHelpers
+ context 'with LGFS Special Preparation fee' do
+ let(:external_user) { create(:external_user) }
+ let(:user) { external_user.user }
+ let(:fee_type) { create(:misc_fee_type, :mispf) }
+ let(:fee) { create(:misc_fee, fee_type:, claim:, quantity: 1) }
+ let(:mock_client) { instance_double(LAA::FeeCalculator::Client) }
+ let(:mock_fee_scheme) { instance_double(LAA::FeeCalculator::FeeScheme) }
+ let(:params) do
+ { format: :json,
+ claim_id: claim.id,
+ price_type: 'UnitPrice',
+ fee_type_id: fee.fee_type.id,
+ fees: {
+ '0': { fee_type_id: fee.fee_type.id, quantity: fee.quantity }
+ } }
+ end
+
+ before do
+ allow(LAA::FeeCalculator).to receive(:client).and_return(mock_client)
+ allow(mock_client).to receive(:fee_schemes).and_return(mock_fee_scheme)
+
+ # Rubocop doesn't like this but without it, execution fails as
+ # CalculatePrice needs to call its own Scenario method
+ # rubocop:disable RSpec/AnyInstance
+ allow_any_instance_of(Claims::FeeCalculator::CalculatePrice)
+ .to receive(:scenario)
+ .and_return(Struct.new(:id).new('1'))
+ # rubocop:enable RSpec/AnyInstance
+ end
+
+ describe 'with london_rates_apply true' do
+ let(:claim) { create(:litigator_claim, london_rates_apply: true) }
+
+ before do
+ allow(mock_fee_scheme).to receive(:prices).with(london_rates_apply: true).and_return({ fee_per_unit: 100 })
+ sign_in user
+ calculate_price
+ end
+
+ it 'submits a request with the expected parameters' do
+ expect(mock_fee_scheme).to have_received(:prices).with(hash_including(london_rates_apply: true))
+ end
+ end
+
+ describe 'with london_rates_apply false' do
+ let(:claim) { create(:litigator_claim, london_rates_apply: false) }
+
+ before do
+ allow(mock_fee_scheme).to receive(:prices).with(london_rates_apply: false).and_return({ fee_per_unit: 50 })
+ sign_in user
+ calculate_price
+ end
+
+ it 'submits a request with the expected parameters' do
+ expect(mock_fee_scheme).to have_received(:prices).with(hash_including(london_rates_apply: false))
+ end
+ end
+
+ describe 'with london_rates_apply not specified' do
+ let(:claim) { create(:litigator_claim) }
+
+ before do
+ allow(mock_fee_scheme).to receive(:prices).and_return({})
+ sign_in user
+ calculate_price
+ end
+
+ it 'submits a request with the expected parameters' do
+ expect(mock_fee_scheme).to have_received(:prices).with(hash_not_including(:london_rates_apply))
+ end
+ end
+ end
+ # rubocop:enable RSpec/MultipleMemoizedHelpers
+ end
+end
diff --git a/spec/support/shared_examples_for_api.rb b/spec/support/shared_examples_for_api.rb
index c434566ded..3ecb9caba4 100644
--- a/spec/support/shared_examples_for_api.rb
+++ b/spec/support/shared_examples_for_api.rb
@@ -236,6 +236,56 @@
end
it { expect_error_response('Enter a case number') }
+ it { expect(LogStuff).to have_received(:send).with(:error, hash_including(type: 'api-error')) }
+ end
+ end
+end
+
+RSpec.shared_examples 'validate London rates' do |options|
+ describe "POST #{ClaimApiEndpoints.for(options[:relative_endpoint]).validate}" do
+ subject(:post_to_validate_endpoint) do
+ post ClaimApiEndpoints.for(options[:relative_endpoint]).validate, valid_params, format: :json
+ end
+
+ before { allow(LogStuff).to receive(:send) }
+
+ let(:claim_user_type) do
+ if ClaimApiEndpoints.for(options[:relative_endpoint]).validate
+ .match?(%r{/claims/(final|interim|transfer|hardship)})
+ 'Litigator'
+ else
+ 'Advocate'
+ end
+ end
+
+ context 'when london_rates_apply is a string' do
+ before do
+ valid_params[:london_rates_apply] = 'Invalid string'
+ post_to_validate_endpoint
+ end
+
+ it 'returns an error' do
+ expect_error_response('london_rates_apply is invalid, london_rates_apply must be true, false or nil')
+ end
+
+ it 'logs an error' do
+ expect(LogStuff).to have_received(:send).with(:error, hash_including(type: 'api-error'))
+ end
+ end
+
+ context 'when london_rates_apply is an integer' do
+ before do
+ valid_params[:london_rates_apply] = 2
+ post_to_validate_endpoint
+ end
+
+ it 'returns an error' do
+ expect_error_response('london_rates_apply is invalid, london_rates_apply must be true, false or nil')
+ end
+
+ it 'logs an error' do
+ expect(LogStuff).to have_received(:send).with(:error, hash_including(type: 'api-error'))
+ end
end
end
end
@@ -381,6 +431,51 @@
end
end
+RSpec.shared_examples 'create claim with london rates' do |options|
+ describe "POST #{ClaimApiEndpoints.for(options[:relative_endpoint]).create}" do
+ subject(:post_to_create_endpoint) do
+ post ClaimApiEndpoints.for(options[:relative_endpoint]).create, valid_params, format: :json
+ end
+
+ let(:claim_user_type) do
+ if ClaimApiEndpoints.for(options[:relative_endpoint]).validate
+ .match?(%r{/claims/(final|interim|transfer|hardship)})
+ 'Litigator'
+ else
+ 'Advocate'
+ end
+ end
+
+ context 'when london_rates_apply is valid' do
+ let(:claim) { claim_class.active.last }
+
+ it 'creates a claim' do
+ expect { post_to_create_endpoint }.to change { claim_class.active.count }.by(1)
+ end
+
+ it 'has had the London Rates Apply attribute correctly set' do
+ post_to_create_endpoint
+ expect(claim.london_rates_apply).to eq valid_params[:london_rates_apply]
+ end
+ end
+
+ context 'when london_rates_apply is invalid' do
+ before do
+ valid_params[:london_rates_apply] = 'invalid string'
+ post_to_create_endpoint
+ end
+
+ it 'returns an error' do
+ expect_error_response('london_rates_apply is invalid, london_rates_apply must be true, false or nil')
+ end
+
+ it 'does not create a new claim' do
+ expect { post_to_create_endpoint }.not_to(change { claim_class.active.count })
+ end
+ end
+ end
+end
+
RSpec.shared_examples 'fee validate endpoint' do
context 'when the request is valid' do
before { post_to_validate_endpoint }
diff --git a/spec/validators/claim/interim_claim_validator_spec.rb b/spec/validators/claim/interim_claim_validator_spec.rb
index 6f15a6ac9e..79b35baea6 100644
--- a/spec/validators/claim/interim_claim_validator_spec.rb
+++ b/spec/validators/claim/interim_claim_validator_spec.rb
@@ -18,6 +18,7 @@
case_type_id
court_id
case_number
+ london_rates_apply
case_transferred_from_another_court
transfer_court_id
transfer_case_number
diff --git a/spec/validators/claim/litigator_claim_validator_spec.rb b/spec/validators/claim/litigator_claim_validator_spec.rb
index 866b86a558..54b48fa2a7 100644
--- a/spec/validators/claim/litigator_claim_validator_spec.rb
+++ b/spec/validators/claim/litigator_claim_validator_spec.rb
@@ -16,6 +16,7 @@
case_type_id
court_id
case_number
+ london_rates_apply
case_transferred_from_another_court
transfer_court_id
transfer_case_number
diff --git a/spec/validators/claim/transfer_claim_validator_spec.rb b/spec/validators/claim/transfer_claim_validator_spec.rb
index 35deee5627..231fca5497 100644
--- a/spec/validators/claim/transfer_claim_validator_spec.rb
+++ b/spec/validators/claim/transfer_claim_validator_spec.rb
@@ -24,6 +24,7 @@
case_details: %i[
court_id
case_number
+ london_rates_apply
case_transferred_from_another_court
transfer_court_id
transfer_case_number
diff --git a/vcr/cassettes/features/fee_calculator/litigator/misc_fee_calculator_london.yml b/vcr/cassettes/features/fee_calculator/litigator/misc_fee_calculator_london.yml
new file mode 100644
index 0000000000..134a55ee38
--- /dev/null
+++ b/vcr/cassettes/features/fee_calculator/litigator/misc_fee_calculator_london.yml
@@ -0,0 +1,1277 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:19 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:19 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:19 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:19 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=LIT_FEE&limit_from=0&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:20 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '298'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":58843,"scenario":5,"advocate_type":null,"fee_type":54,"offence_class":"H","scheme":2,"unit":"DAY","london_rates_apply":null,"fee_per_unit":"0.00000","fixed_fee":"349.47000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:20 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:21 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:21 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:21 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:21 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=LIT_FEE&limit_from=0&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:21 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '298'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":58843,"scenario":5,"advocate_type":null,"fee_type":54,"offence_class":"H","scheme":2,"unit":"DAY","london_rates_apply":null,"fee_per_unit":"0.00000","fixed_fee":"349.47000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:21 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:22 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:22 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:22 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:22 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=LIT_FEE&limit_from=0&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:22 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '298'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":58843,"scenario":5,"advocate_type":null,"fee_type":54,"offence_class":"H","scheme":2,"unit":"DAY","london_rates_apply":null,"fee_per_unit":"0.00000","fixed_fee":"349.47000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:22 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:24 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:24 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:24 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:24 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:24 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:24 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:25 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:24 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=true&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:25 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '300'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265657,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":true,"fee_per_unit":"43.12000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:25 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=true&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:25 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '300'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265657,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":true,"fee_per_unit":"43.12000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:25 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:25 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:25 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:25 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:25 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:26 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:26 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:26 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:26 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=true&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:26 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '300'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265657,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":true,"fee_per_unit":"43.12000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:26 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=true&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 15:08:26 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '300'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265657,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":true,"fee_per_unit":"43.12000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 15:08:26 GMT
+recorded_with: VCR 6.2.0
diff --git a/vcr/cassettes/features/fee_calculator/litigator/misc_fee_calculator_nonlondon.yml b/vcr/cassettes/features/fee_calculator/litigator/misc_fee_calculator_nonlondon.yml
new file mode 100644
index 0000000000..a2b263c6d3
--- /dev/null
+++ b/vcr/cassettes/features/fee_calculator/litigator/misc_fee_calculator_nonlondon.yml
@@ -0,0 +1,913 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:08 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:08 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:08 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:08 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=LIT_FEE&limit_from=0&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:09 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '298'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":58843,"scenario":5,"advocate_type":null,"fee_type":54,"offence_class":"H","scheme":2,"unit":"DAY","london_rates_apply":null,"fee_per_unit":"0.00000","fixed_fee":"349.47000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:08 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:11 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:11 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:11 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:11 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:11 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:11 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=false&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:11 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '301'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265656,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":false,"fee_per_unit":"41.06000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:11 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:11 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:11 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=false&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:11 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '301'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265656,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":false,"fee_per_unit":"41.06000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:11 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:12 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:12 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/?case_date=2016-04-01&main_hearing_date&type=LGFS
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:12 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '198'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":2,"start_date":"2016-04-01","end_date":"2022-09-29","earliest_main_hearing_date":null,"type":"LGFS","description":"LGFS
+ Fee Scheme 2016-04"}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:12 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:12 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:12 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/scenarios/
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:12 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '4119'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":51,"next":null,"previous":null,"results":[{"id":1,"name":"Discontinuance","code":"ST1TS0T1"},{"id":2,"name":"Guilty
+ plea","code":"ST1TS0T2"},{"id":3,"name":"Cracked trial","code":"ST1TS0T3"},{"id":4,"name":"Trial","code":"ST1TS0T4"},{"id":5,"name":"Appeal
+ against conviction","code":"ST1TS0T5"},{"id":6,"name":"Appeal against sentence","code":"ST1TS0T6"},{"id":7,"name":"Committal
+ for sentence","code":"ST1TS0T7"},{"id":8,"name":"Contempt","code":"ST1TS0T8"},{"id":9,"name":"Breach
+ of crown court order","code":"ST3TS3TB"},{"id":10,"name":"Cracked before retrial","code":"ST1TS0T9"},{"id":11,"name":"Retrial","code":"ST1TS0TA"},{"id":12,"name":"Elected
+ case not proceeded","code":"ST4TS0T1"},{"id":17,"name":"Up to and including
+ PCMH transfer (original solicitor) - cracked trial","code":"ST2TS1T0"},{"id":18,"name":"Up
+ to and including PCMH transfer (new solicitor) - guilty plea","code":"ST3TS1T2"},{"id":19,"name":"Up
+ to and including PCMH transfer (new solicitor) - cracked trial","code":"ST3TS1T3"},{"id":20,"name":"Up
+ to and including PCMH transfer (new solicitor) - trial","code":"ST3TS1T4"},{"id":21,"name":"Before
+ trial transfer (original solicitor) - cracked trial","code":"ST2TS2T0"},{"id":22,"name":"Before
+ trial transfer (new solicitor) - cracked trial","code":"ST3TS2T3"},{"id":23,"name":"Before
+ trial transfer (new solicitor) - trial","code":"ST3TS2T4"},{"id":24,"name":"During
+ trial transfer (original solicitor) - trial","code":"ST2TS3T0"},{"id":25,"name":"During
+ trial transfer (new solicitor) - trial","code":"ST3TS3T4"},{"id":26,"name":"During
+ trial transfer (new solicitor) - retrial","code":"ST3TS3TA"},{"id":27,"name":"Transfer
+ before retrial (original solicitor) - retrial","code":"ST2TS4T0"},{"id":28,"name":"Transfer
+ before retrial (new solicitor) - cracked retrial","code":"ST3TS4T9"},{"id":29,"name":"Transfer
+ before retrial (new solicitor) - retrial","code":"ST3TS4TA"},{"id":30,"name":"Transfer
+ during retrial (original solicitor) - retrial","code":"ST2TS5T0"},{"id":31,"name":"Transfer
+ during retrial (new solicitor) - retrial","code":"ST3TS5TA"},{"id":32,"name":"Hearing
+ subsequent to sentence","code":"ST1TS0TC"},{"id":33,"name":"Transfer after
+ retrial and before sentencing (original)","code":"ST2TS6TA"},{"id":34,"name":"Transfer
+ after retrial and before sentencing (new)","code":"ST3TS6TA"},{"id":35,"name":"Transfer
+ after trial and before sentencing (original)","code":"ST2TS7T4"},{"id":36,"name":"Transfer
+ after trial and before sentencing (new)","code":"ST3TS7T4"},{"id":37,"name":"Elected
+ case not proceeded - up to and including PCMH (original solicitor)","code":"ST4TS0T2"},{"id":38,"name":"Elected
+ case not proceeded - up to and including PCMH (new solicitor)","code":"ST4TS0T3"},{"id":39,"name":"Elected
+ case not proceeded - before trial transfer (original solicitor)","code":"ST4TS0T4"},{"id":40,"name":"Elected
+ case not proceeded - before trial transfer (new solicitor)","code":"ST4TS0T5"},{"id":41,"name":"Elected
+ case not proceeded - transfer before retrial (original solicitor)","code":"ST4TS0T6"},{"id":42,"name":"Elected
+ case not proceeded - transfer before retrial (new solicitor)","code":"ST4TS0T7"},{"id":43,"name":"Interim
+ payment - effective PCMH","code":"ST1TS0T0"},{"id":44,"name":"Interim payment
+ - trial start","code":"ST1TS1T0"},{"id":45,"name":"Interim payment - retrial
+ (new solicitor)","code":"ST1TS2T0"},{"id":46,"name":"Interim payment - retrial
+ start","code":"ST1TS3T0"},{"id":48,"name":"Warrant issued - trial (before
+ plea hearing)","code":null},{"id":49,"name":"Warrant issued - trial (after
+ plea hearing)","code":null},{"id":50,"name":"Warrant issued - trial (after
+ trial start)","code":null},{"id":51,"name":"Warrant issued - appeal against
+ conviction","code":null},{"id":52,"name":"Warrant issued - appeal against
+ sentence","code":null},{"id":53,"name":"Warrant issued - committal for sentence","code":null},{"id":54,"name":"Warrant
+ issued - breach of crown court order","code":null},{"id":55,"name":"Warrant
+ issued - retrial (after plea hearing)","code":null},{"id":56,"name":"Warrant
+ issued - retrial (after trial start)","code":null}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:12 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=false&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:12 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '301'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265656,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":false,"fee_per_unit":"41.06000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:12 GMT
+- request:
+ method: get
+ uri: https://staging.laa-fee-calculator.service.justice.gov.uk/api/v1/fee-schemes/2/prices/?fee_type_code=AGFS_SPCL_PREP&limit_from=0&london_rates_apply=false&offence_class=H&scenario=5
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - application/json
+ User-Agent:
+ - laa-fee-calculator-client/2.0.0
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 29 Aug 2024 16:33:12 GMT
+ Content-Type:
+ - application/json
+ Content-Length:
+ - '301'
+ Connection:
+ - keep-alive
+ Vary:
+ - Accept, origin, Cookie
+ Allow:
+ - GET, HEAD, OPTIONS
+ Cache-Control:
+ - public, max-age=7200
+ X-Frame-Options:
+ - DENY
+ X-Content-Type-Options:
+ - nosniff
+ Referrer-Policy:
+ - same-origin
+ Cross-Origin-Opener-Policy:
+ - same-origin
+ Strict-Transport-Security:
+ - max-age=15724800; includeSubDomains
+ body:
+ encoding: UTF-8
+ string: '{"count":1,"next":null,"previous":null,"results":[{"id":265656,"scenario":5,"advocate_type":null,"fee_type":29,"offence_class":null,"scheme":2,"unit":"HOUR","london_rates_apply":false,"fee_per_unit":"41.06000","fixed_fee":"0.00000","limit_from":0,"limit_to":null,"modifiers":[],"strict_range":false}]}'
+ recorded_at: Thu, 29 Aug 2024 16:33:12 GMT
+recorded_with: VCR 6.2.0